[
https://issues.jboss.org/browse/WFLY-776?page=com.atlassian.jira.plugin.s...
]
Tomek Adamski commented on WFLY-776:
------------------------------------
I was able to reproduce the same error that is described. I have found out that it occurrs
because mbean and pojo are two different subsystems which are not related to eachother. As
a result of that, when mbean subsystem encounters "inject bean" tag it looks for
mbean (not pojo) of a given name and if such mbean does not exists it stops deployment of
mbean with an error.
I'm wondering how this problem should be solved. There is a possibility of adding such
feature but at the first glance, I see the following problems with that:
- it leads to dependence (service naming etc.) between two subsystems
- it can possibly lead to xml syntax change (in order to distinguish between injection of
mbean or pojo bean)
Can someone please suggest wheter such extension is desirable?
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
Security Level: Public(Everyone can see)
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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira