users@glassfish.java.net

RE: RE: Re: Why does the Client Container try to load a resourceadapter'sConnection class?

From: Markus Karg <karg_at_quipsy.de>
Date: Fri, 30 May 2008 09:07:07 +0200

I do not use a deployment descriptor at all.

-----Original Message-----
From: Jagadish.Ramu_at_Sun.COM [mailto:Jagadish.Ramu_at_Sun.COM]
Sent: Freitag, 30. Mai 2008 09:02
To: users_at_glassfish.dev.java.net
Cc: Hong Zhang
Subject: RE: Re: Why does the Client Container try to load a resourceadapter'sConnection class?

Seems like application is being validated and as part of it, DOL
(deployment object library) loads the ejb descriptors that in-turn is
trying to load the class.

CC-ing Hong for help.

Do you have any reference of rar-class in ejb descriptors ?
eg: resource-ref

Thanks,
-Jagadish


On Thu, 2008-05-29 at 14:09 +0200, Markus Karg wrote:
> Here it is. "de/quipsy/connector/kernel/api/outbound/KernelConnection" is part of the custom interface of the resource adapter.
>
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
> at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
> at java.lang.reflect.Constructor.newInstance(Unknown Source)
> at com.sun.enterprise.appclient.jws.boot.JWSACCMain.run(JWSACCMain.java:221)
> at com.sun.enterprise.appclient.jws.boot.JWSACCMain.main(JWSACCMain.java:182)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at com.sun.javaws.Launcher.executeApplication(Unknown Source)
> at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
> at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
> at com.sun.javaws.Launcher.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: de/quipsy/connector/kernel/api/outbound/KernelConnection
> at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:487)
> ... 15 more
> Caused by: java.lang.NoClassDefFoundError: de/quipsy/connector/kernel/api/outbound/KernelConnection
> at java.lang.Class.getDeclaredMethods0(Native Method)
> at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
> at java.lang.Class.getDeclaredMethods(Unknown Source)
> at com.sun.enterprise.deployment.util.EjbBundleValidator.accept(EjbBundleValidator.java:263)
> at com.sun.enterprise.deployment.EjbDescriptor.visit(EjbDescriptor.java:2058)
> at com.sun.enterprise.deployment.EjbBundleDescriptor.visit(EjbBundleDescriptor.java:734)
> at com.sun.enterprise.deployment.Application.visit(Application.java:1754)
> at com.sun.enterprise.deployment.archivist.ApplicationArchivist.validate(ApplicationArchivist.java:470)
> at com.sun.enterprise.deployment.archivist.ApplicationArchivist.open(ApplicationArchivist.java:246)
> at com.sun.enterprise.appclient.AppClientInfo.populateDescriptor(AppClientInfo.java:477)
> at com.sun.enterprise.appclient.AppClientInfo.completeInit(AppClientInfo.java:171)
> at com.sun.enterprise.appclient.AppClientInfoFactory.buildAppClientInfo(AppClientInfoFactory.java:149)
> at com.sun.enterprise.appclient.MainWithModuleSupport.<init>(MainWithModuleSupport.java:366)
> ... 15 more
> Caused by: java.lang.ClassNotFoundException: de.quipsy.connector.kernel.api.outbound.KernelConnection
> at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:737)
> at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:627)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClass(Unknown Source)
> at java.lang.ClassLoader.loadClassInternal(Unknown Source)
> ... 28 more
>
> -----Original Message-----
> From: Jagadish.Ramu_at_Sun.COM [mailto:Jagadish.Ramu_at_Sun.COM]
> Sent: Donnerstag, 29. Mai 2008 12:16
> To: users_at_glassfish.dev.java.net
> Subject: Re: Why does the Client Container try to load a resource adapter'sConnection class?
>
> Can you post the exception stack traces?
>
> Thanks,
> -Jagadish
>
>
> On Thu, 2008-05-29 at 11:53 +0200, Markus Karg wrote:
> > My EAR contains three modules:
> >
> >
> >
> > * ResourceAdapter, providing a custom interface
> >
> > * EJB-JAR, containing a session bean that accesses the resource
> > adapter's customer interface internally; also providing EJB 2.1
> > Compatibility View
> >
> > * Application Client, using EJB 2.1 Compatibility View of the session
> > bean
> >
> >
> >
> > The application client has NO references to any part of the resource
> > adapter. He is completely unaware of its existence. Neither is any
> > class or interface of the resource adapter beeing passes to the client
> > by the session bean, or accepted by the session bean as beeing passed
> > from the client.
> >
> >
> >
> > The validator has 0 errors, 0 warnings, 0 infos. Also I can deploy and
> > startup the server without any problem.
> >
> >
> >
> > But when I click on "Launch" to run the client using Web Start, then
> > Web Start shows me a nice exception that it is unable to locate one of
> > the classes contained in the custom interface of the ResourceAdapter.
> > In the stack trace there is only com.* and java.* stuff mentioned, but
> > none of my own classes.
> >
> >
> >
> > As soon as I added a copy of all classes of the custom interface into
> > my client JAR, it starts up very well (and certainly never uses that
> > class).
> >
> >
> >
> > Can somebody explain, why the client container wants to load that
> > class? It obviously is never referenced anywhere in the client!
> >
> >
> >
> > Thanks
> >
> > Markus
> >
> >
> >
> > QUIPSY QUALITY GmbH & Co. KG
> >
> > Ein Unternehmen der MES-Gruppe
> >
> > Stuttgarter Strasse 23
> >
> > D-75179 Pforzheim
> >
> > Tel: 07231-9189-52
> >
> > Fax: 07231-9189-59
> >
> > www.quipsy.de
> >
> > karg_at_quipsy.de
> >
> > Registergericht Mannheim HRA 701214
> >
> > Geschäftsführer: Nils Schroeder
> >
> >
> >
> > Diese E-Mail enthält persönliche, vertrauliche und vor Weitergabe
> > geschützte Informationen und ist ausschließlich für den vorgesehenen
> > o.g. Empfänger (Adressaten) bestimmt. Falls Sie diese E-Mail
> > versehentlich erhalten haben und nicht der vorgesehene Empfänger sind,
> > bitten wir Sie, die E-Mail und deren Anhänge nicht aufzubewahren,
> > nicht zu vervielfältigen, nicht zu nutzen und nicht weiterzugeben.
> > Bitte informieren Sie uns als Absender über diesen Zustellungsfehler
> > und löschen Sie die E-Mail.
> >
> >
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>


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