Hi guys,
looks like RC2 has included a new class PackageBuilderConfiguration. With
RC1 everything worked as expected when deployed in JBoss however with RC2 I
now get the following exception:
java.lang.NoClassDefFoundError: org/apache/commons/jci/stores/ResourceStore
at au.com.pulse.online.ejb3.logic.LogicFactory.getPackage(
LogicFactory.java:148)
at au.com.pulse.online.ejb3.logic.LogicFactory.getDrlRuleBase(
LogicFactory.java:87)
at au.com.pulse.online.ejb3.logic.LogicFactory.getWorkingMemory(
LogicFactory.java:62)
at au.com.pulse.online.ejb3.AbstractFacadeBean.prePersist(
AbstractFacadeBean.java:95)
at au.com.pulse.online.ejb3.AbstractFacadeBean.persist(
AbstractFacadeBean.java:172)
at au.com.pulse.online.ejb3.AbstractFacadeBean.create(
AbstractFacadeBean.java:164)
at au.com.pulse.online.ejb3.AbstractFacadeBean.createParent(
AbstractFacadeBean.java:143)
at au.com.pulse.online.ejb3.person.PersonFacadeBean.create(
PersonFacadeBean.java:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:109)
at
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(
TransactionScopedEntityManagerInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(
AllowedOperationsInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java
:192)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(
TxPropagationInterceptor.java:76)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(
StatelessInstanceInterceptor.java:54)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.aspects.security.AuthenticationInterceptor.invoke(
AuthenticationInterceptor.java:78)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.ejb3.ENCPropagationInterceptor.invoke(
ENCPropagationInterceptor.java:47)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(
AsynchronousInterceptor.java:106)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.ejb3.stateless.StatelessContainer.dynamicInvoke(
StatelessContainer.java:225)
at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(
IsLocalInterceptor.java:55)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(
MethodInvocation.java:98)
at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(
StatelessRemoteProxy.java:102)
at $Proxy105.create(Unknown Source)
at au.com.pulse.online.test.persistence.PersonTest.testPersonCRUD(
PersonTest.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(
DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at org.apache.cactus.internal.AbstractCactusTestCase.runBareServer(
AbstractCactusTestCase.java:153)
at org.apache.cactus.internal.server.AbstractWebTestCaller.doTest(
AbstractWebTestCaller.java:119)
at
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody0
(AbstractWebTestController.java:93)
at
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest_aroundBody1$advice
(AbstractWebTestController.java:224)
at
org.apache.cactus.internal.server.AbstractWebTestController.handleRequest(
AbstractWebTestController.java)
at org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody2(
ServletTestRedirector.java:101)
at
org.apache.cactus.server.ServletTestRedirector.doPost_aroundBody3$advice(
ServletTestRedirector.java:224)
at org.apache.cactus.server.ServletTestRedirector.doPost(
ServletTestRedirector.java)
at org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody0(
ServletTestRedirector.java:72)
at
org.apache.cactus.server.ServletTestRedirector.doGet_aroundBody1$advice(
ServletTestRedirector.java:224)
at org.apache.cactus.server.ServletTestRedirector.doGet(
ServletTestRedirector.java)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(
ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(
ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(
ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(
StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(
StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(
CustomPrincipalValve.java:54)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(
SecurityAssociationValve.java:174)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(
AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(
JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(
StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(
ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(
StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(
CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection
(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(
PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(
MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
This is thrown from the following line
PackageBuilder builder = new PackageBuilder();
The constructor for PackageBuilder used to take a ClassLoader but now it has
the option to take a Package or a Package and a PackageBuilderConfiguration
(which can be constructed with a ClassLoader).
If I'm doing the following:
PackageBuilder builder = new PackageBuilder();
try {
builder.addPackageFromDrl(new InputStreamReader(
AbstractFacadeBean.class.getResourceAsStream(drlFile)),
new InputStreamReader(
AbstractFacadeBean.class.getResourceAsStream(dslFile)));
} catch (Exception e) {
log.error(e);
throw e;
}
return builder.getPackage();
What should it be now?