geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kevan Miller" <kevan.mil...@gmail.com>
Subject Re: [jira] Commented: (GERONIMO-1639) Setup old version of CORBA specs
Date Tue, 28 Feb 2006 02:21:08 GMT
On 2/27/06, Joe Bohn <joe.bohn@earthlink.net> wrote:
>
>
> Regarding Kevan's comment on the config dependencies on j2ee_1.4_spec:
>
> I had started to look at removing the dependencies in configs on
> geronimo-j2ee_1.4_spec as a way to make the minimal assembly still
> smaller. Everybody has indicated that this should not be needed in the
> runtime. However, it's currently included pretty high up in the
> class-loader parentage (in rmi-naming) and apparently for good reason.
>
> When I attempted to remove it I immediately hit problems building the
> config for j2ee-server.  It's failing because it is missing the class
> def for javax.resource.ResourceException.  I continue to hit this same
> error even if I add the dependency directly into the j2ee-server config
> or in the parent of all deployers (geronimo-gbean-deployer).
>
> With similar errors I have been able to fix things by adding the
> appropriate dependency to either the configuration itself, or the
> deployer that is involved deploying that configuration depending on the
> error.  This doesn't seem to be true of the spec implementation.  I know
> the specs are special but I'm not exactly sure what's going on here.
> Any suggestions?


Hi Joe,
While I'm thinking about it -- thanks for the config-parent diagram. I've
already used it several times...

I'm not exactly sure what's causing your specific problem. However, as Dain
recently pointed out to me, given our current ClassLoader structure, we're
going to run into lots of problems if the spec classes are not defined in a
single, common, parent config. Just look at your config diagram and think of
the multiple classloaders that would be loading unique instances of the spec
classes.

rmi-naming includes all spec classes by declaring a dependency on
geronimo-j2ee_1.4_spec.jar. If the current minimal is including both the
spec jar and the consituent jars, then seems like we can cut  it down to
<only> the uber-jar or <all> of the constituent spec jars, not <both>.
However, I don't think you'll be able to reasonably reduce things further...


--kevan


Here's the stacktrace:
> 16:30:42,697 ERROR [Deployer] Deployment failed due to
> java.lang.NoClassDefFoundError: javax/resource/ResourceException
>          at java.lang.Class.getDeclaredMethods0(Native Method)
>          at java.lang.Class.privateGetDeclaredMethods(Class.java:1655)
>          at java.lang.Class.privateGetPublicMethods(Class.java:1778)
>          at java.lang.Class.getMethods(Class.java:832)
>          at
> org.apache.geronimo.gbean.GBeanInfoBuilder.addInterface(
> GBeanInfoBuilder.java:223)
>          at
> org.apache.geronimo.gbean.GBeanInfoBuilder.addInterface(
> GBeanInfoBuilder.java:218)
>          at
> org.apache.geronimo.gbean.GBeanInfoBuilder.addInterface(
> GBeanInfoBuilder.java:212)
>          at
>
> org.apache.geronimo.connector.outbound.connectiontracking.ConnectionTrackingCoordinatorGBean
> .<clinit>(ConnectionTrackingCoordinatorGBean.java:35)
>          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:324)
>          at
> org.apache.geronimo.gbean.GBeanInfo.getGBeanInfo(GBeanInfo.java:65)
>          at
> org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeanData(
> ServiceConfigBuilder.java:316)
>          at
> org.apache.geronimo.deployment.service.ServiceConfigBuilder.addGBeans(
> ServiceConfigBuilder.java:311)
>          at
>
> org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration
> (ServiceConfigBuilder.java:207)
>          at
>
> org.apache.geronimo.deployment.service.ServiceConfigBuilder.buildConfiguration
> (ServiceConfigBuilder.java:167)
>          at
>
> org.apache.geronimo.deployment.service.ServiceConfigBuilder$$FastClassByCGLIB$$9f173be6.invoke
> (<generated>)
>          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:118)
>          at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java
> :800)
>          at
> org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
>          at
> org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(
> RawOperationInvoker.java:36)
>          at
> org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(
> ProxyMethodInterceptor.java:96)
>          at
>
> org.apache.geronimo.deployment.ConfigurationBuilder$$EnhancerByCGLIB$$2ea63e01.buildConfiguration
> (<generated>)
>          at
> org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:279)
>          at
> org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke
> (<generated>)
>          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:118)
>          at
> org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java
> :835)
>          at
> org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java:178)
>          at
> org.apache.geronimo.plugin.packaging.PackageBuilder.invokeDeployer(
> PackageBuilder.java:389)
>          at
> org.apache.geronimo.plugin.packaging.PackageBuilder.execute(
> PackageBuilder.java:294)
>          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:324)
>          at
> org.apache.geronimo.plugin.packaging.PackageBuilderShell.execute(
> PackageBuilderShell.java:232)
>          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:324)
>          at
> org.apache.commons.jelly.impl.DynamicBeanTag.doTag(DynamicBeanTag.java
> :180)
>          at
> org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java
> :102)
>          at
> org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
>          at
> org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(
> MavenGoalTag.java:78)
>          at
>
> org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction
> (MavenGoalTag.java:109)
>          at org.apache.maven.werkz.Goal.fire(Goal.java:656)
>          at org.apache.maven.werkz.Goal.attain(Goal.java:592)
>          at org.apache.maven.werkz.Goal.attainPrecursors(Goal.java:505)
>          at org.apache.maven.werkz.Goal.attain(Goal.java:590)
>          at
> org.apache.maven.werkz.WerkzProject.attainGoal(WerkzProject.java:210)
>          at
> org.apache.maven.jelly.tags.werkz.MavenAttainGoalTag.doTag(
> MavenAttainGoalTag.java:114)
>          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java
> :247)
>          at
> org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
>          at
> org.apache.maven.jelly.tags.werkz.MavenGoalTag.runBodyTag(
> MavenGoalTag.java:78)
>          at
>
> org.apache.maven.jelly.tags.werkz.MavenGoalTag$MavenGoalAction.performAction
> (MavenGoalTag.java:109)
>          at org.apache.maven.werkz.Goal.fire(Goal.java:656)
>          at org.apache.maven.werkz.Goal.attain(Goal.java:592)
>          at
> org.apache.maven.plugin.PluginManager.attainGoals(PluginManager.java:693)
>          at org.apache.maven.MavenSession.attainGoals(MavenSession.java
> :263)
>          at org.apache.maven.cli.App.doMain(App.java:511)
>          at org.apache.maven.cli.App.main(App.java:1258)
>          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:324)
>          at com.werken.forehead.Forehead.run(Forehead.java:551)
>          at com.werken.forehead.Forehead.main(Forehead.java:581)
>
>
>
>
>
>
>
> Kevan Miller (JIRA) wrote:
> >     [
> http://issues.apache.org/jira/browse/GERONIMO-1639?page=comments#action_12367776]
> >
> > Kevan Miller commented on GERONIMO-1639:
> > ----------------------------------------
> >
> > As mentioned in my previous note, the NPE's weren't fixed. The problem
> was the uber-jar still contained the bad corba spec classes. This overrides
> any children with dependencies on the corba jar which you just created.
> >
> > I've worked around by adding your corba jar as a dependency in
> specs/rmi-naming. I think the following need to occur:
> >
> > 1) the bad corba spec jars/classes should be removed from specs 1.1.
> Probably best to create a specs/branches/1_1. That way 1.1 will be clean.
> You can start using specs/trunk (1.2) for the new corba spec classes.
> > 2) we should consider cleaning up the geronimo-j2ee_1.4_spec
> dependencies in our configs. I was surprised to find them there... I'd need
> a little feedback from others, before starting on that, however...
> >
> >
> >>Setup old version of CORBA specs
> >>--------------------------------
> >>
> >>         Key: GERONIMO-1639
> >>         URL: http://issues.apache.org/jira/browse/GERONIMO-1639
> >>     Project: Geronimo
> >>        Type: Bug
> >>  Components: CORBA
> >>    Versions: 1.0, 1.0.1, 1.1, 1.x
> >>    Reporter: Alan Cabrera
> >>    Assignee: Kevan Miller
> >>     Fix For: 1.1, 1.x
> >
> >
> >>Setup old version of CORBA specs for temporary use until the new CORBA
> specs can pass the TCK.
> >
> >
>
> --
> Joe Bohn
> joe.bohn at earthlink.net
>
> "He is no fool who gives what he cannot keep, to gain what he cannot
> lose."   -- Jim Elliot
>

Mime
View raw message