I can't make the jboss_5_0.xsd, namespace restrictions and model fit together. The
spec xsds don't expose any elements, so the only way to use an element in another
namespace is by using a ref on a group or by extension. This leads to very weird
constructs:<?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>
| <object-name>object name</object-name>
| <local>org.jboss.ejb3.test.service.ServiceSixLocal</local>
| <remote>org.jboss.ejb3.test.service.ServiceSixRemote</remote>
|
<management>org.jboss.ejb3.test.service.ServiceSixManagement</management>
| <xmbean>xmbean</xmbean>
| <remote-binding>
| <client-bind-url>client bind url</client-bind-url>
| </remote-binding>
| <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>
| <jee:injection-target>
|
<jee:injection-target-class>org.jboss.ejb3.test.service.ServiceSix</jee:injection-target-class>
|
<jee:injection-target-name>stateless</jee:injection-target-name>
| </jee: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>
| <jee:injection-target>
|
<jee:injection-target-class>org.jboss.ejb3.test.service.ServiceSix</jee:injection-target-class>
|
<jee:injection-target-name>setStatelessLocal</jee:injection-target-name>
| </jee:injection-target>
| <jndi-name>StatelessBean/local</jndi-name>
| </ejb-local-ref>
| <security-identity>
| <jee:run-as>
| <jee:role-name>role name</jee:role-name>
| </jee:run-as>
| <!-- FIXME
| <run-as-principal>run as principal</run-as-principal>
| -->
| </security-identity>
| <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>
| <jee:injection-target>
|
<jee:injection-target-class>org.jboss.ejb3.test.service.ServiceSix</jee:injection-target-class>
|
<jee:injection-target-name>testDatasource</jee:injection-target-name>
| </jee:injection-target>
| </resource-ref>
| <resource-env-ref>
| <jee:description>A test of the resource-env-ref
tag</jee:description>
|
<jee:resource-env-ref-name>res/aQueue</jee:resource-env-ref-name>
|
<jee:resource-env-ref-type>javax.jms.Queue</jee:resource-env-ref-type>
| <jndi-name>queue/mdbtest</jndi-name>
| </resource-env-ref>
| <message-destination-ref>
|
<message-destination-ref-name>messageDestinationRef</message-destination-ref-name>
| <jee:mapped-name>mappedName</jee:mapped-name>
| </message-destination-ref>
| <security-domain>security domain</security-domain>
| <method-attributes>
| <method>
| <method-name>test</method-name>
| <transaction-timeout>1</transaction-timeout>
| </method>
| </method-attributes>
| </service>
| </enterprise-beans>
| </jboss>
|
All elements directly under service are in jboss namespace, I could make an extension on
session-beanType, but that would throw the model into a fit.
ejb-ref and ejb-local-ref are pretty consistent.
security-identity somehow defies the xsd I've defined for it, but fits the model.
Then wickedness ensues: resource-ref can't be an extension, because it redefines the
usage of mapped-name. It should however be an extension (as resource-env-ref) because now
description won't fit the model.
It leads to a mapped-name from a different namespace as shown in message-destination-ref.
And thus I can't fit both of them into one unified model. So currently I'm at a
stalemate.
Any suggestions?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4096105#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...