[Design of POJO Server] - Re: bean/mbean integration issue
by adrian@jboss.org
The kernel bus hasn't really had any work done on it.
The original idea was that it would provide a generic entry point for invocations
on different contexts, e.g. Properyt/MethodJoinpoints for POJOs
Attributre/OperationJoinpoints for JMX.
Its main use would be to replace the Dispatcher (AOP remoting) and
org.jboss.system.Registry (JBossAS's detyped invokers)
as a common entry point for named based invocations.
However, I agreed with Bill about 2 years ago that rewriting AOP and JMX
to support a common Joinpoint abstraction would be a lot of work.
If it is to be done at all it would left to a later iteration.
Scott's idea of adding a "dispatch" abstract to the context api
would work. In fact, I really want to change the BeanInfo api to support
this notion like the ClassInfo api already does (i.e. there get/set methods
on fields and invoke on methods).
The api would be more like the DynamicMBean api
where there are methods to get/set Properties/Attributes and invoke on
methods/operations with each context knowing how to do this, e.g.
ServiceControllerContext -> MBeanServer
KernelControllerContext -> Configurator (or in future as I said above BeanInfo)
This later approach essentially moves the implementation of the Bus from
a joinpoint based abstraction to a context based abstract.
The main downside is that the Bus can in principle invoke on things
that are registered directly (or indirectly via a KernelRegistryPlugin)
that don't have a context in the controller per-se, but there is already
"a hack" in the controller that knows how to make it seem these
have a context.
P.S. It is better to create JIRA issues when we have discussed the issue
and agreed what we want to do.
Forums == dicussions
JIRA == what we decided needs doing
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000485#4000485
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000485
19 years, 2 months
[Design of JBoss Web Services] - JBWS-1259 - element ref and type qnames
by darran.lofthouse@jboss.com
>From the following schema: -
| <schema targetNamespace='http://test.jboss.org/ws/jbws1259/types' xmlns='http://www.w3.org/2001/XMLSchema' xmlns:soap11-enc='http://schemas.xmlsoap.org/soap/encoding/' xmlns:tns='http://test.jboss.org/ws/jbws1259/types' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>
|
| <complexType name='Person'>
| <sequence>
| <element name='firstName' nillable='true' type='string'/>
| <element name='surname' nillable='true' type='string'/>
| <element ref='tns:comment'/>
| </sequence>
| </complexType>
|
| <complexType name='TelephoneNumber'>
| <sequence>
| <element name='areaCode' nillable='true' type='string'/>
| <element name='number' nillable='true' type='string'/>
| <element ref='tns:comment'/>
| </sequence>
| </complexType>
|
| <element name='comment'>
| <complexType>
| <sequence>
| <element name='test' type='string' />
| <element ref='tns:comment' />
| </sequence>
| </complexType>
| </element>
|
| <element name='lookup' type='tns:Person' />
| <element name='lookupResponse' type='tns:TelephoneNumber'/>
| </schema>
wscompile generates the following mapping for comment: -
| <java-xml-type-mapping>
| <java-type>org.jboss.test.ws.jbws1259.Comment</java-type>
| <anonymous-type-qname xmlns:typeNS='http://test.jboss.org/ws/jbws1259/types'>typeNS:>Person>comment</anonymous-type-qname>
| <qname-scope>complexType</qname-scope>
| <variable-mapping>
| <java-variable-name>test</java-variable-name>
| <xml-element-name>test</xml-element-name>
| </variable-mapping>
| <variable-mapping>
| <java-variable-name>comment</java-variable-name>
| <xml-element-name>comment</xml-element-name>
| </variable-mapping>
| </java-xml-type-mapping>
We generate the following mapping (different qname because of the order we create the mappings): -
| <java-xml-type-mapping>
| <java-type>org.jboss.test.ws.jbws1259.Comment</java-type>
| <anonymous-type-qname>http://test.jboss.org/ws/jbws1259/types:>TelephoneNumber>comment</anonymous-type-qname>
| <qname-scope>complexType</qname-scope>
| <variable-mapping>
| <java-variable-name>test</java-variable-name>
| <xml-element-name>test</xml-element-name>
| </variable-mapping>
| <variable-mapping>
| <java-variable-name>comment</java-variable-name>
| <xml-element-name>comment</xml-element-name>
| </variable-mapping>
| </java-xml-type-mapping>
Looking at the Web Services for J2EE specification section 7.3.2.2 I think both of these are wrong, shouldn't this be mapped according to use case 4? e.g.
<anonymous-type-qname>http://test.jboss.org/ws/jbws1259/types:>comment</anonymous-type-qname>
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4000475#4000475
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4000475
19 years, 2 months