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?

Reply via email to