[
https://issues.jboss.org/browse/WFLY-776?page=com.atlassian.jira.plugin.s...
]
Romain Pelisse commented on WFLY-776:
-------------------------------------
Regarding the two technical issues raised by Tomasz (and I've discussed with him over
IRC):
1) dependency between the mbean service and the pojo service seems to be OK - it's not
far fetch to think that MBean would need to access POJO just for this purpose (looking up
dependency)
2) rather than chaning the XML syntax, we could change the content of the bean attribute,
by adding a prefix:
{code:xml}
<mbean code="com.redhat.jboss.support.HelloService"
name="example:type=HelloService,service=Hello">
<attribute name="Message">Hello!!</attribute>
<attribute name="Task"><inject
bean="pojo:myTask"/></attribute>
</mbean>
{code}
Which leads to no prefix, default behavior, prefix load some factories/resolver based on
the prefix. On top of not arming the current syntax, it also reuse an usual practice (like
URL) to specifiy other mechanism to inject dependency.
Inject POJO to MBean by using <inject bean="XXX"> in
jboss-service.xml does not work in SAR
-------------------------------------------------------------------------------------------
Key: WFLY-776
URL:
https://issues.jboss.org/browse/WFLY-776
Project: WildFly
Issue Type: Bug
Components: JMX, POJO
Reporter: Masafumi Miura
Attachments: HelloService-AS7-inject-reproducer.tar.gz
When injecting POJO to MBean by using {{<inject bean="myTask"/>}} in
{{jboss-service.xml}} of SAR like the following:
* META-INF/jboss-service.xml:
{code:xml}
<server>
<mbean code="com.redhat.jboss.support.HelloService"
name="example:type=HelloService,service=Hello">
<attribute name="Message">Hello!!</attribute>
<attribute name="Task"><inject
bean="myTask"/></attribute>
</mbean>
</server>
{code}
* META-INF/jboss-beans.xml:
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<deployment ... >
<bean name="myTask"
class="com.redhat.jboss.support.SimpleTask">
</bean>
</deployment>
{code}
Then the following ERROR is happened at deployment of SAR:
{noformat:title=7.1.4.Final}
ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1)
{"JBAS014653: Composite operation failed and was rolled back. Steps that
failed:" => {"Operation step-2" => {"JBAS014771: Services with
missing/unavailable dependencies" =>
["jboss.mbean.service.example:type=HelloService,service=Hello.start
Missing[jboss.mbean.service.myTask.start]","jboss.mbean.registration.example:type=HelloService,service=Hello
Missing[JBAS014861: <one or more transitive
dependencies>]","jboss.mbean.service.example:type=HelloService,service=Hello.create
Missing[jboss.mbean.service.myTask.create]"]}}}
{noformat}
{noformat:title=7.2.0.Alpha1}
ERROR [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of
deployment "HelloService.sar" was rolled back with the following failure
message:
{"JBAS014771: Services with missing/unavailable dependencies" => [
"jboss.mbean.service.example:type=HelloService,service=Hello.start is missing
[jboss.mbean.service.myTask.start]",
"jboss.mbean.service.example:type=HelloService,service=Hello.create is missing
[jboss.mbean.service.myTask.create]"
]}
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)