Closing my own loop on this one in case anyone else runs into this issue.
As Michael mentioned this is definitely not a guvnor issue. The issue is
I am importing JPA libraries as part of my model as my classes are
annotated for JPA. Our JPA provider is Eclipselink and it seems the
Eclipselink JPA spec jar is delivered as an OSGi enabled jar. This causes
the error when loading my jar into guvnor. However after the error all of
my assets are visible and things seem to work fine...so for anyone who sees
this error by chance, you can ignore it it seems.
I did also try including the OSGi libraries into tomcats libs, this leads
down a path of needing several other libs and really adds no value except
to avoid the harmless stack trace.
Mike Key
On Tue, Jan 10, 2012 at 9:40 AM, Mike Key <mikey(a)zenbitz.com> wrote:
Thanks for the response Michael. I did get past the error by adding
an
OSGi jar to tomcat's libs. The curious thing is that I'm loading a jar
from a maven build (actually an assembly with all dependencies added to the
jar). The jar itself does not have this class, and if I do a mvn
dependency:tree I never see OSGi mentioned in any dependencies or
transitive dependencies of my entire source tree.
At this point it may not be a question for this list, but I did try the
same thing using JBoss AS 7 and the issue does not exist there. Does
anyone happen to know if perhaps how guvnor is asking tomcat to load the
classes may be what is requiring OSGi? Not sure how the tomcat 7 class
loader works.
Like I said I realize this is not really a Drools or Guvnor question at
this point, but hopefully someone on the list may know?
Thanks again for the response.
Mike
2012/1/10 Michael Anstis <michael.anstis(a)gmail.com>
> Guvnor doesn't use OSGi.
>
> The stack trace suggests the JAR you are has a dependency on OSGi:-
>
>
> org.drools.guvnor.server.contenthandler.ModelContentHandler.getImportsFromJar.
>
> The remainder of the stack trace relates to trying to load the imported
> class.
>
> 2012/1/9 Mike Key <mikey(a)zenbitz.com>
>
>> Hi all,
>>
>> I have installed Guvnor 5.3.0-Final on a fresh Tomcat 7.0.12. I am able
>> to import existing rules I have, however when I try to upload my fact model
>> I get an error in the localhost log file:
>>
>> SEVERE: Servlet.service() for servlet [AssetFileServlet] in context with
>> path [/guvnor-5.3.0.Final-tomcat-6.0] threw exception [Servlet execution
>> threw an exception] with root cause
>> java.lang.ClassNotFoundException: org.osgi.framework.BundleActivator
>> >...at
>>
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676)
>> >...at
>>
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521)
>> >...at java.lang.Class.forName0(Native Method)
>> >...at java.lang.Class.forName(Class.java:247)
>> >...at
>> org.drools.rule.MapBackedClassLoader.loadClass(MapBackedClassLoader.java:109)
>> >...at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>> >...at java.lang.ClassLoader.defineClass1(Native Method)
>> >...at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>> >...at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>> >...at
>> org.drools.rule.MapBackedClassLoader.fastFindClass(MapBackedClassLoader.java:86)
>> >...at
>> org.drools.rule.MapBackedClassLoader.loadClass(MapBackedClassLoader.java:104)
>> >...at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>> >...at
>>
org.drools.guvnor.server.contenthandler.ModelContentHandler.isClassVisible(ModelContentHandler.java:183)
>> >...at
>>
org.drools.guvnor.server.contenthandler.ModelContentHandler.getImportsFromJar(ModelContentHandler.java:148)
>> >...at
>>
org.drools.guvnor.server.contenthandler.ModelContentHandler.onAttachmentAdded(ModelContentHandler.java:66)
>> >...at
>>
org.drools.guvnor.server.files.FileManagerUtils.attachFileToAsset(FileManagerUtils.java:115)
>> >...at
>>
org.drools.guvnor.server.files.FileManagerUtils.attachFile(FileManagerUtils.java:87)
>> >...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:597)
>> >...at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
>> >...at
>>
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
>> >...at
>>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
>> >...at
>>
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
>> >...at
>>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>> >...at
>>
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:77)
>> >...at
>>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>> >...at
>>
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
>> >...at
>>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>> >...at
>>
org.jboss.seam.security.SecurityInterceptor.aroundInvoke(SecurityInterceptor.java:163)
>> >...at
>>
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
>> >...at
>> org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
>> >...at
>>
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
>> >...at
>>
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
>>
>> I am attempting to upload a jar with all dependencies it uses (which
>> includes JPA annotations and JAXB annotations). I have verified that the
>> jar contains all its proper dependencies. This message seems to indicate I
>> am missing some OSGi jar or something that I would have expected to be
>> delivered with Guvnor. Do I need some sort of global libraries for OSGi to
>> run Guvnor or to use my model when it has these external dependencies in
>> the jar?
>>
>> Any help on this is greatly appreciated.
>>
>> Cheers.
>>
>> Mike Key
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>