Hi!
Rickard �berg wrote:
> 1. Actually they should have this order (see EJB 1.1 DD DTD)
Ok for that.
This is what I got with the testbeans test suite for the EntityBMPBean.
The ejb-jar has:
<ejb-ref>
<description>An EJB ref for this bean to test</description>
<ejb-ref-name>ejb/myEJBRef</ejb-ref-name>
<ejb-ref-type>Stateless</ejb-ref-type>
<home>org.jboss.zol.testbean.interfaces.StatelessSessionHome</home>
<remote>org.jboss.zol.testbean.interfaces.StatelessSession</remote>
</ejb-ref>
There is no <ejb-link> in it, which is ok according to the spec. (btw I
must be missing something: what is the use of the <ejb-link> tag if we
already have the <home> and <remote> classes?)
However, the reference is not properly bound during deployment:
[Container factory] Binding an EJBReference ejb/myEJBRef
[Container factory] Bind ejb/myEJBRef to
If I add an <ejb-link>nextgen.StatelessSession</ejb-link> after the
<remote> tag, I get
[Container factory] Binding an EJBReference ejb/nextgen.StatelessSession
[Container factory] Bind ejb/nextgen.StatelessSession to nextgen.StatelessSession
which is wrong (I want to link ejb/myEJBref).
The parser, or something else, seems to be confused with the ".": if
there is no dot in the <ejb-link>, as in the account example, everything is
ok.
Trickier: if I put <ejb-link>nextgen.StatelessSession</ejb-link> BEFORE
the <ejb-ref-name> (against the DTD) the binding is good.
> 2. The event listening code is only used for the GUI and should not
> affect loading a complete XML-file which has already been created.
I don't agree. EjbReference.importXml() does get called during deployment. A
stackTrace is
[Container factory] java.lang.Exception: importXml called
at com.dreambean.ejx.ejb.EjbReference.importXml(EjbReference.java:134)
at com.dreambean.ejx.ejb.Session.importXml(Session.java:310)
at com.dreambean.ejx.ejb.EnterpriseBeans.importXml(EnterpriseBeans.java:251)
at
org.jboss.ejb.plugins.jaws.deployment.JawsEnterpriseBeans.importXml(JawsEnterpriseBeans.java:92)
at com.dreambean.ejx.ejb.EjbJar.importXml(EjbJar.java:144)
at
org.jboss.ejb.plugins.jaws.deployment.JawsEjbJar.importXml(JawsEjbJar.java:136)
at
org.jboss.ejb.plugins.jaws.deployment.JawsFileManager.load(JawsFileManager.java:132)
at
org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.init(JAWSPersistenceManager.java:151)
at
org.jboss.ejb.plugins.CMPPersistenceManager.init(CMPPersistenceManager.java:82)
at org.jboss.ejb.EntityContainer.init(EntityContainer.java:190)
at org.jboss.ejb.Application.init(Application.java:158)
at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:493)
at org.jboss.ejb.ContainerFactory.deploy(ContainerFactory.java:183)
at java.lang.reflect.Method.invoke(Native Method)
at javax.management.MBeanServer.invoke(MBeanServer.java:1635)
at javax.management.MBeanServer.invoke(MBeanServer.java:1501)
at org.jboss.ejb.AutoDeployer.deploy(AutoDeployer.java:258)
at org.jboss.ejb.AutoDeployer.run(AutoDeployer.java:194)
at org.jboss.ejb.AutoDeployer.startService(AutoDeployer.java:237)
at org.jboss.util.ServiceMBeanSupport.start(ServiceMBeanSupport.java:89)
at java.lang.reflect.Method.invoke(Native Method)
at javax.management.MBeanServer.invoke(MBeanServer.java:1635)
at javax.management.MBeanServer.invoke(MBeanServer.java:1501)
at org.jboss.Main.<init>(Main.java:155)
at org.jboss.Main.<init>(Main.java:86)
at org.jboss.Main$1.run(Main.java:76)
at java.security.AccessController.doPrivileged(Native Method)
at org.jboss.Main.main(Main.java:67)
Sebastien
PS: thanks for the cvs version, it's much more handy!