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!

Reply via email to