Return-Path: Delivered-To: apmail-geronimo-user-archive@www.apache.org Received: (qmail 36681 invoked from network); 11 Dec 2006 22:20:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 11 Dec 2006 22:20:48 -0000 Received: (qmail 94752 invoked by uid 500); 11 Dec 2006 22:20:47 -0000 Delivered-To: apmail-geronimo-user-archive@geronimo.apache.org Received: (qmail 94720 invoked by uid 500); 11 Dec 2006 22:20:47 -0000 Mailing-List: contact user-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: user@geronimo.apache.org List-Id: Delivered-To: mailing list user@geronimo.apache.org Received: (qmail 94705 invoked by uid 99); 11 Dec 2006 22:20:46 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Dec 2006 14:20:46 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of ammulder@gmail.com designates 64.233.182.186 as permitted sender) Received: from [64.233.182.186] (HELO nf-out-0910.google.com) (64.233.182.186) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Dec 2006 14:20:05 -0800 Received: by nf-out-0910.google.com with SMTP id x37so43385nfc for ; Mon, 11 Dec 2006 14:19:23 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=F/ZHy/kPhSbGr4wPGJXvrp3VbXd0j18KeaB06gedvIyOHKcXAr7BhuFrTwc1R/9r/69HZ1rV8dtJBHBOx3P3dWTX9/RFX3+GtQgLKD8TrHz2vY9LgxaylWHjFR14WVPCuvJ3UX5KqTI+/oJwlaWsN2vXJt41325oQIXgRNRZQCw= Received: by 10.82.126.5 with SMTP id y5mr536447buc.1165875561914; Mon, 11 Dec 2006 14:19:21 -0800 (PST) Received: by 10.82.118.19 with HTTP; Mon, 11 Dec 2006 14:19:21 -0800 (PST) Message-ID: <74e15baa0612111419t6b4602a8m7a30fab2dfda455c@mail.gmail.com> Date: Mon, 11 Dec 2006 17:19:21 -0500 From: "Aaron Mulder" Sender: ammulder@gmail.com To: user@geronimo.apache.org Subject: Re: Third party jars inside ear files In-Reply-To: <749CB64A-CFDE-435E-AC5B-7B9E73BD6BEA@yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <74e15baa0612111211l31afeec7nf98191edc668e952@mail.gmail.com> <749CB64A-CFDE-435E-AC5B-7B9E73BD6BEA@yahoo.com> X-Google-Sender-Auth: 673d3ca2405ee15a X-Virus-Checked: Checked by ClamAV on apache.org On 12/11/06, David Jencks wrote: > Sensible??? whats that mean ????? :-) > > I like this idea a lot, especially if I don't have to implement it :-) Sure. I would lean toward adding an element like to the EAR deployment plan. The only thing is, it would most naturally go in the element, but that is reused everywhere. Do you think it's worth adding it to the environment and just supporting it for additional module types, or putting it outside the environment for the EAR plan only? Thanks, Aaron > > Thanks, > > Aaron > > > > On 12/11/06, Spotts, Joel (ISS Atlanta) wrote: > >> Thanks for the suggestion. I am trying that tact, but am now > >> running into > >> another issue. When I try and create a dummy ejb jar, I get an > >> error when > >> the ejb module is loaded. I tried googling the exception as well > >> searching > >> the archives for the exception, but with no success. The exception > >> is as > >> follows: > >> > >> 14:27:43,483 ERROR [GBeanInstanceState] Error while starting; > >> GBean is now > >> in the FAILED state: > >> abstractName="iss/SampleEar/1.0/car? > >> EJBModule=DummyEJB.jar,J2EEApplication=iss/SampleEar/1.0/ > >> car,j2eeType=StatelessSessionBean,name=Dummy" > >> java.lang.IllegalArgumentException: Class class > >> org.openejb.proxy.SessionEJBLocalHome$$EnhancerByCGLIB$$7bde9985 > >> does not use a MethodInterceptor > >> at > >> net.sf.cglib.proxy.MethodProxy.find(MethodProxy.java:129) > >> at > >> org.openejb.dispatch.MethodHelper.getSuperIndex(MethodHelper.java:82) > >> at > >> org.openejb.proxy.EJBProxyHelper.buildProxyToShadowIndex > >> (EJBProxyHelper.java:122) > >> at > >> org.openejb.proxy.EJBProxyHelper.getOperationMap > >> (EJBProxyHelper.java:67) > >> at > >> org.openejb.proxy.EJBProxyFactory$InterfaceMaps.createOperationsMap > >> (EJBProxyFactory.java:397) > >> at > >> org.openejb.proxy.EJBProxyFactory$InterfaceMaps. > >> (EJBProxyFactory.java:368) > >> at > >> org.openejb.proxy.EJBProxyFactory.(EJBProxyFactory.java:88) > >> at org.openejb.GenericEJBContainer. > >> (GenericEJBContainer.java:172) > >> at > >> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > >> Method) > >> at > >> sun.reflect.NativeConstructorAccessorImpl.newInstance > >> (NativeConstructorAccessorImpl.java:39) > >> at > >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance > >> (DelegatingConstructorAccessorImpl.java:27) > >> at > >> java.lang.reflect.Constructor.newInstance(Constructor.java:494) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanInstance.createInstance > >> (GBeanInstance.java:933) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanInstanceState.attemptFullStart > >> (GBeanInstanceState.java:267) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanInstanceState.start > >> (GBeanInstanceState.java:102) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanInstanceState.startRecursive > >> (GBeanInstanceState.java:124) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanInstance.startRecursive > >> (GBeanInstance.java:540) > >> at > >> org.apache.geronimo.kernel.basic.BasicKernel.startRecursiveGBean > >> (BasicKernel.java:379) > >> at > >> org.apache.geronimo.kernel.config.ConfigurationUtil.startConfiguratio > >> nGBeans(ConfigurationUtil.java:374) > >> at > >> org.apache.geronimo.kernel.config.KernelConfigurationManager.start > >> (KernelConfigurationManager.java:187) > >> at > >> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon > >> figuration(SimpleConfigurationManager.java:527) > >> at > >> org.apache.geronimo.kernel.config.SimpleConfigurationManager.startCon > >> figuration(SimpleConfigurationManager.java:508) > >> at > >> org.apache.geronimo.kernel.config.SimpleConfigurationManager$ > >> $FastClassByCGLIB$$ce77a924.invoke() > >> at > >> net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53) > >> at > >> org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke > >> (FastMethodInvoker.java:38) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanOperation.invoke > >> (GBeanOperation.java:122) > >> at > >> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke > >> (GBeanInstance.java:817) > >> at > >> org.apache.geronimo.gbean.runtime.RawInvoker.invoke > >> (RawInvoker.java:57) > >> at > >> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke > >> (RawOperationInvoker.java:35) > >> at > >> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept > >> (ProxyMethodInterceptor.java:96) > >> at > >> org.apache.geronimo.kernel.config.EditableConfigurationManager$ > >> $EnhancerByCGLIB$$4ac69885.startConfiguration() > >> at > >> org.apache.geronimo.deployment.plugin.local.StartCommand.run > >> (StartCommand.java:67) > >> at java.lang.Thread.run(Thread.java:595) > >> > >> Here is my ejb-jar.xml > >> > >> >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > >> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee > >> http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd" > >> version="2.1"> > >> > >> > >> > >> > >> > >> > >> Dummy > >> > >> net.iss.geronimo.ejb.DummyLocalHome > >> net.iss.geronimo.ejb.DummyLocal > >> net.iss.geronimo.ejb.DummyBean > >> Stateless > >> Bean > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> > >> and my openejb-jar.xml > >> > >> > >> >> xmlns="http://www.openejb.org/xml/ns/openejb-jar-2.1"> > >> > >> > >> Dummy > >> > >> > >> > >> > >> > >> > >> The actual ejb beans are completely devoid of any content (i.e. > >> all method > >> implementations are empty, and LocalHome and Local interfaces are > >> declare no > >> methods). I tried to create as minimal an ejb as possible. > >> > >> Any ideas? > >> > >> Thanks, > >> > >> Yoel Spotts > >> > >> > >> ________________________________ > >> From: David Jencks [mailto:david_jencks@yahoo.com] > >> Sent: Friday, December 08, 2006 7:00 PM > >> To: user@geronimo.apache.org > >> Subject: Re: Third party jars inside ear files > >> > >> > >> The only think I know of that you can do is to include a dummy ejb > >> jar file > >> with no ejbs in it and put your libs in it's manifest classpath. > >> It will > >> need a skeleton ejb-jar.xml descriptor so it can get deployed > >> correctly. > >> > >> > >> You are correct that the dependency elements only refer jars > >> outside the ear > >> in the geronimo repository. The other thing you could do is to > >> put the jars > >> in the geronimo repo and use dependency elements. This is fairly > >> easy if > >> you use maven... .but still not as easy as it should be. > >> > >> > >> hope this helps > >> david jencks > >> > >> > >> > >> On Dec 8, 2006, at 12:10 PM, Spotts, Joel ((ISS Atlanta)) wrote: > >> > >> > >> > >> I have a number of third party jars I want to include inside an > >> ear. I would > >> like all my web applications to have access those jars. I realize > >> that I can > >> list those jars inside the manifest files of the wars (using the > >> Class path > >> directive), but that would mean that each war would load those > >> jars in > >> different class loaders. Is there a way I can designate that those > >> jars I > >> include in the ear should be available to the wars loaded by the > >> class > >> loader of the ear (such that the same class loader would load the > >> jars for > >> all wars inside that ear)? I have not found a way to configure > >> that in the > >> geronimo-application.xml. The closest directive I found is the > >> dependency > >> directive, but it seems like you can only load jars external to > >> the ear > >> (placed in the repository as separate compenents), but not for > >> jars included > >> in the ears? > >> > >> Thanks, > >> > >> Yoel Spotts > >> > >