users@glassfish.java.net

RE: Unable to access JCA connector deployed in same ear

From: Markus Karg <karg_at_quipsy.de>
Date: Fri, 25 Jul 2008 08:25:11 +0200

Hi,

I can tell you that there are several bugs in GlassFishv2ur2 that show differently but always root on the same cause: Some classes are not found that actually ARE there. I have already reported such cases in the tracker and directly to Sun. I also opened a 49US$ per incident case with Sun, but without any success (while we can reproduce on all our PCs, they cannot on any they say). It just seems it is just buggy and they're not really willing to invest money to fix it unless you buy a several-thousands-of-$ support contract. Maybe some open source volunteer can help?

Regards
Markus

-----Original Message-----
From: glassfish_at_javadesktop.org [mailto:glassfish_at_javadesktop.org]
Sent: Freitag, 25. Juli 2008 01:17
To: users_at_glassfish.dev.java.net
Subject: Unable to access JCA connector deployed in same ear

I'm trying to deploy an ear which has

- a custom JCA connector and
- a war using that JCA connector

as sub modules. The connector's api classes - Connection and ConnectionFactory - live inside its own jar, connector-api.jar. This jar resides in the ear's META-INF/lib directory, declared via

<library-directory>META-INF/lib</library-directory>

in the ear's application.xml. Overall, we have

application.ear
         |
         - META-INF/lib
         | |
         | - connector-api.jar
         |
         |---------- connector.rar
         | |
         | --- connector-impl.jar
         |
         |---------- client.war
                            |
                            - WEB-INF/classes/consume.connector.Client.class

In my web.xml, I reference a ConnectionFactory like so:

           <resource-ref>
                <res-ref-name>
                        local/osgi/JeeServiceLookupConnectionFactory
                </res-ref-name>
                <res-type>
                        de.saxsys.osgira.shared.connectorapi.factory.JeeServiceLookupConnectionFactory
                </res-type>
                <res-auth>Container</res-auth>
                <res-sharing-scope>Shareable</res-sharing-scope>
        </resource-ref>

(I tried Unshareable, alas to no avail).
Upon deployment into GlassFish v2, I get, however,

[#|2008-07-25T00:59:16.088+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=16;_ThreadName=Thread-76;_RequestID=e7a1650b-7a69-4457-a4c6-0daeef4258d5;|WEB0123: WebModule [/ws] failed to deploy and has been disabled
java.lang.IllegalArgumentException: [de.saxsys.osgira.shared.connectorapi.factory.JeeServiceLookupConnectionFactory] is not an allowed property value type
        at com.sun.enterprise.deployment.ResourceReferenceDescriptor.checkType(ResourceReferenceDescriptor.java:492)
        at com.sun.enterprise.naming.NamingManagerImpl.bindObjects(NamingManagerImpl.java:530)
        at com.sun.enterprise.web.WebModuleContextConfig.configureResource(WebModuleContextConfig.java:220)
        at com.sun.enterprise.web.WebModuleContextConfig.lifecycleEvent(WebModuleContextConfig.java:161)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:143)
        at org.apache.catalina.core.StandardContext.init(StandardContext.java:6350)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4848)
        at com.sun.enterprise.web.WebModule.start(WebModule.java:326)

which, according to ResourceReferenceDescriptor's sources, means that the current Thread's context classloader cannot see

de.saxsys.osgira.shared.connectorapi.factory.JeeServiceLookupConnectionFactory

which happily lives inside my connector-api.jar.

What did I do wrong, and how can I fix it?

Cheers,
Olaf
[Message sent by forum member 'obergner' (obergner)]

http://forums.java.net/jive/thread.jspa?messageID=289204

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
For additional commands, e-mail: users-help_at_glassfish.dev.java.net