Hi Gerhard, I had a closer look and figured it out in the end. I found
something
in the weld reference
that allows a class to be excluded from weld scanning, and that is allowing me
to bypass the
duplicate error. I seem to be having to add 'implements serializable' to just
about everything, but it
looks like I'm moving in the right direction.
?xml version=1.0 encoding=UTF-8?
beans xmlns=http://java.sun.com/xml/ns/javaee;
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;
xmlns:weld=http://jboss.org/schema/weld/beans;
xsi:schemaLocation=
http://java.sun.com/xml/ns/javaee http://docs.jboss.org/cdi/beans_1_0.xsd
http://jboss.org/schema/weld/beans
http://jboss.org/schema/weld/beans_1_1.xsd;
weld:scan
weld:exclude name=testMaven2.IPNListener/
/weld:scan
/beans
Thanks,
Brendan.
From: Gerhard Petracek gerhard.petra...@gmail.com
To: user@openwebbeans.apache.org
Sent: Wed, 10 August, 2011 19:41:44
Subject: Re: Compatibility issue with Jersey (JAX-RS) OWB on Glassfish 3.1.1
hi brendan,
the first call is triggered by weld and the second one by owb.
regards,
gerhard
http://www.irian.at
Your JSF powerhouse -
JSF Consulting, Development and
Courses in English and German
Professional Support for Apache MyFaces
2011/8/10 Brendan Healey healey_bren...@yahoo.co.uk
Jakob, the method is being called twice. The problem is that in
BeanGenerator#createBeanClass
the generatedClassCounter is 0 both times, hence the duplicate name (bean0),
so
clearly different
instances of BeanGenerator are being used.
The call stack isn't making a lot of immediate sense to me I'm afraid, but
this
is what is shown
with a method breakpoint on afterBeanDiscovery:
call stack 1st call:
com.sun.jersey.server.impl.cdi.CDIExtension.afterBeanDiscovery(CDIExtension.java:756)
sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:59)
org.jbo
ss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:198)
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:282)
org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:265)
org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:234)
org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:88)
org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:52)
org.jboss.weld.bootstrap.events.AfterBeanDiscoveryImpl.fire(AfterBeanDiscoveryImpl.java:43)
org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:372)
org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:170)
org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:128)
org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:270)
com.sun.enterprise.v3.serv
er.ApplicationLifecycle.deploy(ApplicationLifecycle.java:461)
com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:240)
org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:382)
com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:355)
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:370)
com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1064)
com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1200(CommandRunnerImpl.java:96)
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1244)
com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1232)
com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:459)
com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:209)
com.sun.grizzly.tcp.htt p11.GrizzlyAdapter.service(GrizzlyAdapter.java:168)
com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:117)
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:238)
com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)