[teiid-issues] [JBoss JIRA] Commented: (TEIID-1324) Deploy JOPR Plugin on JON/RHQ

Ted Jones (JIRA) jira-events at lists.jboss.org
Fri Oct 29 11:50:54 EDT 2010


    [ https://jira.jboss.org/browse/TEIID-1324?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12560313#action_12560313 ] 

Ted Jones commented on TEIID-1324:
----------------------------------

Just to clarify, this is not an EAP or SOA-P issue, this is an RHQ/JON issue. When the Teiid plugin runs in the admin console we pick up the required jars whether we are running in EAP/SOA-P  or JBossAS 5.1 since we get all the standard jars from the lib of the server. When running in JON, we are depending on the classloader from our parent plugin (JBossAS 5) since it is running in a different JBossAS instance. This plugin loads jars specifically from the JBossAS instance that JON is monitoring (the one Teiid is running in) and it is not loading the jboss-reflect.jar. The RHQ team will add this jar but it won't be part of the current release (JON 2.4).  For us to work in this version and older versions of JON we need to add the jar to our instance classloader. 

> Deploy JOPR Plugin on JON/RHQ
> -----------------------------
>
>                 Key: TEIID-1324
>                 URL: https://jira.jboss.org/browse/TEIID-1324
>             Project: Teiid
>          Issue Type: Bug
>          Components: Jopr Plugin
>    Affects Versions: 7.1
>         Environment: Jboss EAP 5.1, JON 2.4, jon-plugin-pack-eap-2.4.0.GA
>            Reporter: Cristiano Nicolai
>            Assignee: Ted Jones
>             Fix For: 7.1.1
>
>
> When deploying Teiid JOPR plugin on JON, when the agent try to run the plugin there are some missing classes.
> Caused by: java.lang.NoClassDefFoundError: org/jboss/reflect/spi/TypeInfo
> 	at java.lang.Class.getDeclaredConstructors0(Native Method)
> 	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
> 	at java.lang.Class.getConstructor0(Class.java:2699)
> 	at java.lang.Class.newInstance0(Class.java:326)
> 	at java.lang.Class.newInstance(Class.java:308)
> 	at org.jboss.metatype.plugins.values.MetaValueFactoryBuilder$1.run(MetaValueFactoryBuilder.java:71)
> 	at org.jboss.metatype.plugins.values.MetaValueFactoryBuilder$1.run(MetaValueFactoryBuilder.java:46)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at org.jboss.metatype.plugins.values.MetaValueFactoryBuilder.<clinit>(MetaValueFactoryBuilder.java:45)
> 	at org.jboss.metatype.api.values.MetaValueFactory.<clinit>(MetaValueFactory.java:41)
> 	at org.teiid.rhq.admin.DQPManagementView.<clinit>(DQPManagementView.java:68)
> 	at org.teiid.rhq.plugin.VDBComponent.getAvailability(VDBComponent.java:139)
> 	at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:525)
> 	... 5 more
> Basically the missing jar is jboss-metatype.jar.
> I tried some classloader configuration including the missing jar in teiid-console-7.2.0.Beta1.jar/lib, but as it has dependent classes (jboss-managed.jar) that are loaded in jboss-as-5 RHQ plugin I couldn't find any solution without changing the jboss-as-5 code. Probably some sync with RHQ guys is needed because jboss-managed.jar depends on jboss-metatype.jar.
> My workaround for this was a code change in ApplicationServerDiscoveryComponent to include the required jar from the AS installation.
> private static final List<String> CLIENT_JARS = Arrays.asList(
>         // NOTE: The jbossall-client.jar aggregates a whole bunch of other jars from the client dir via its
>         // MANIFEST.MF Class-Path.
>         "client/jbossall-client.jar",
>         "client/trove.jar",
>         "client/javassist.jar",
>         "common/lib/jboss-security-aspects.jar",
>         "lib/jboss-managed.jar",
>         "lib/jboss-metatype.jar",
>         "lib/jboss-reflect.jar",
>         "lib/jboss-dependency.jar"
>     );
> Fixing this class dependency the plugin start to require some Teiid client classes and to solve this I just copy the teiid-7.2.0.Beta1-client.jar to teiid-console-7.2.0.Beta1.jar/lib and redeploy the plugin.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the teiid-issues mailing list