2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GlassFish4.0でJava8のStreamAPIを使うとサーバー起動時にエラーが発生する

Last updated at Posted at 2016-08-16

glassfish4.0でStreamAPIを使うとサーバー起動時にエラーがでます

サーバー起動時にエラーが発生するソースと実行結果

ソース

Sample.java
package simple;

import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.ArrayListHandler;
@WebService
public class SimpleWeb {
	   
	  @WebMethod
	  public String sayHello(String name) throws Exception{
          return _sayHello(name);
	  }
	  
	  private String _sayHello(String name)throws Exception{
		  try{
			  Context ctx = new InitialContext();
	          DataSource ds = (DataSource)ctx.lookup("jdbc/oraclecon");
	          .query(ds.getConnection(), //コネクションの取得
	          		"select EMP_ID,EMP_NAME from EMP",  
	          		new ArrayListHandler())
	          .stream()
	          .filter(array->array[0].equals("001"))
	          .map(array -> String.format("従業員ID:%s:従業員名:%s",array[0],array[1]))
	          .collect(StringBuilder::new, StringBuilder::append, StringBuilder::append)
	          .toString());
		  }catch(Exception e){
			  e.printStackTrace();
			  return name;
		  }
		  
	  }
}

実行結果

java.lang.ArrayIndexOutOfBoundsException: 26415
	at org.objectweb.asm.ClassReader.readClass(ClassReader.java:2015)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:469)
	at org.objectweb.asm.ClassReader.accept(ClassReader.java:425)
	at org.glassfish.hk2.classmodel.reflect.Parser$5.on(Parser.java:362)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.handleEntry(ReadableArchiveScannerAdapter.java:165)
	at com.sun.enterprise.v3.server.ReadableArchiveScannerAdapter.onSelectedEntries(ReadableArchiveScannerAdapter.java:127)
	at org.glassfish.hk2.classmodel.reflect.Parser.doJob(Parser.java:347)
	at org.glassfish.hk2.classmodel.reflect.Parser.access$300(Parser.java:67)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:306)
	at org.glassfish.hk2.classmodel.reflect.Parser$3.call(Parser.java:295)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

GlassFish 4.0ってJava8をサポートしているのではなかったのでしょうか?

2
2
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?