在Glassfish 4.1上调用EJB3 txlogdir为null

时间:2015-11-26 07:19:41

标签: transactions java-ee-7 glassfish-4.1

让我说我有一个

@Stateless @LocalBean SomeEJB

使用@TransactionAttribute(value=TransactionAttributeType.NOT_SUPPORTED)注释引用WebService方法。 现在,第一次在战争中调用此方法(用@EJB注入)会给我他的错误:

Information:   Missing required extension methods detected on 'javax.transaction.TransactionManager' implementation 'com.sun.enterprise.transaction.TransactionManagerHelper':
getTxLogLocation

Information:   txlogdir isnull
Warnung:   A system exception occurred during an invocation on EJB SomeEJB, method: public java.util.List service.application.SomeEJB.findPeopleByString(java.lang.String,java.lang.String,java.lang.String)
Warnung:   javax.ejb.EJBException
    at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)
....
Caused by: java.lang.NullPointerException
    at java.io.File.<init>(File.java:277)
    at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.setTxLogDirs(WSATGatewayRM.java:430)

之后,正确调用该方法并提供正确的信息,直到我重新启动glassfish。 可能有人提示要寻找什么?

提前致谢!

1 个答案:

答案 0 :(得分:0)

此错误已标记为已修复,但它更像是一种解决方法。就像这里解释的: https://java.net/jira/browse/WSIT-1500 您必须在应用程序之前部署wstx-services.war ...