This content has been marked as final.
Show 3 replies
-
1. Re: JBossSessionBeanMetaData / using embedded Java bean prop
aloubyansky Oct 16, 2007 10:13 AM (in response to wolfc)Have a look at the DescriptionGroupMetaData. If I understood you right, what you need is @JBossXmlModelGroup annotation.
-
2. Re: JBossSessionBeanMetaData / using embedded Java bean prop
wolfc Oct 16, 2007 10:51 AM (in response to wolfc)I don't have a model group here.
I got:<?xml version="1.0"?> <jboss xmlns="http://www.jboss.com/xml/ns/javaee" xmlns:jee="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee http://www.jboss.org/j2ee/schema/jboss_5_0.xsd" version="3.0"> <enterprise-beans> <service> <ejb-name>ServiceSix</ejb-name> <ejb-class>org.jboss.ejb3.test.service.ServiceSix</ejb-class> <local>org.jboss.ejb3.test.service.ServiceSixLocal</local> <remote>org.jboss.ejb3.test.service.ServiceSixRemote</remote> <management>org.jboss.ejb3.test.service.ServiceSixManagement</management> <jndi-name>serviceSix/remote</jndi-name> <local-jndi-name>serviceSix/local</local-jndi-name> <ejb-ref> <ejb-ref-name>ejb/StatelessBean</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <remote>org.jboss.ejb3.test.service.StatelessRemote</remote> <ejb-link>StatelessBean</ejb-link> <injection-target> <injection-target-class>org.jboss.ejb3.test.service.ServiceSix</injection-target-class> <injection-target-name>stateless</injection-target-name> </injection-target> <jndi-name>StatelessBean/remote</jndi-name> </ejb-ref> <ejb-local-ref> <ejb-ref-name>ejb/StatelessLocal</ejb-ref-name> <ejb-ref-type>Session</ejb-ref-type> <local>org.jboss.ejb3.test.service.StatelessLocal</local> <ejb-link>StatelessBean</ejb-link> <injection-target> <injection-target-class>org.jboss.ejb3.test.service.ServiceSix</injection-target-class> <injection-target-name>setStatelessLocal</injection-target-name> </injection-target> <jndi-name>StatelessBean/local</jndi-name> </ejb-local-ref> <resource-ref> <res-ref-name>testDatasource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Shareable</res-sharing-scope> <mapped-name>java:/DefaultDS</mapped-name> <injection-target> <injection-target-class>org.jboss.ejb3.test.service.ServiceSix</injection-target-class> <injection-target-name>testDatasource</injection-target-name> </injection-target> </resource-ref> <resource-env-ref> <jee:description>A test of the resource-env-ref tag</jee:description> <resource-env-ref-name>res/aQueue</resource-env-ref-name> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> <jndi-name>queue/mdbtest</jndi-name> </resource-env-ref> </service> </enterprise-beans> </jboss>
So this is a combined JBossSessionBeanMeta and SessionBeanMetaData rolled into 1. Since I'm part of JBossEnterpriseBeansMetaData I must extend JBossSessionBeanMetaData. So:@XmlType(name="jboss-service-beanType") public class JBossServiceBeanMetaData extends JBossSessionBeanMetaData { public void setSessionBeanMetaData(SessionBeanMetaData embedded) { ... } }
Now what annotations do I need to add? -
3. Re: JBossSessionBeanMetaData / using embedded Java bean prop
wolfc Oct 17, 2007 4:53 AM (in response to wolfc)Ah got something, now I see what you mean:
@JBossXmlModelGroup(name="embeddedSessionBean", propOrder={"descriptionGroup", "ejbClass" }) class EmbeddedSessionBeanMetaData extends SessionBeanMetaData { }
It would appear that name is mandatory and I must specify a propOrder to get things done.
The JBossSessionBeanMetaData class itself is going to be a dirty hack into existing structures.