[
https://issues.jboss.org/browse/WFLY-6636?page=com.atlassian.jira.plugin....
]
Tomas Hofman commented on WFLY-6636:
------------------------------------
To me the first deployment always works, not matter if hot deployment or archive, and
subsequent redeployments always fail, until the server is reloaded.
I think it's caused by the fact that ModuleLoader doesn't remove it's module
entry for "deployment.ejb1" correctly, and this module entry then interferes
with subsequent deployments. See MODULES-252 for details.
WELD-001408: Unsatisfied dependencies on hot deploy of app using
module-alias as dependency
-------------------------------------------------------------------------------------------
Key: WFLY-6636
URL:
https://issues.jboss.org/browse/WFLY-6636
Project: WildFly
Issue Type: Bug
Components: CDI / Weld
Affects Versions: 10.0.0.Final
Reporter: Brad Maxwell
Assignee: Tomas Hofman
Attachments: test.ear
If a sub deployment uses another sub deployment's module-alias as a dependency, it
will deploy successfully, but if hot deployed, it will fail with the error below.
Attached reproducer.
{code}
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<ear-subdeployments-isolated>true</ear-subdeployments-isolated>
<sub-deployment name="ejb1.jar">
<module-alias name="deployment.ejb1"/>
</sub-deployment>
<sub-deployment name="ejb2.jar">
<dependencies>
<!-- works
<module name="deployment.test.ear.ejb1.jar"
slot="main"/>
-->
<!-- fails with WELD-001408: Unsatisfied dependencies for type TestEJB1 with
qualifiers @Default on redeploy / hot deploy -->
<module name="deployment.ejb1" slot="main"/>
</dependencies>
</sub-deployment>
</jboss-deployment-structure>
{code}
{code}
10:43:42,140 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001:
Failed to start service jboss.deployment.unit."test.ear".WeldStartService:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."test.ear".WeldStartService: Failed to start service
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied
dependencies for type TestEJB1 with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject private test.TestEJB2.test1
at test.TestEJB2.test1(TestEJB2.java:0)
at
org.jboss.weld.bootstrap.Validator.validateInjectionPointForDeploymentProblems(Validator.java:359)
at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:281)
at org.jboss.weld.bootstrap.Validator.validateGeneralBean(Validator.java:134)
at org.jboss.weld.bootstrap.Validator.validateRIBean(Validator.java:155)
at org.jboss.weld.bootstrap.Validator.validateBean(Validator.java:518)
at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:68)
at org.jboss.weld.bootstrap.ConcurrentValidator$1.doWork(ConcurrentValidator.java:66)
at
org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:63)
at
org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:56)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
10:43:42,144 ERROR [org.jboss.as.controller.management-operation]
(DeploymentScanner-threads - 2) WFLYCTL0013: Operation
("full-replace-deployment") failed - address: ([]) - failure description:
{"WFLYCTL0080: Failed services" =>
{"jboss.deployment.unit.\"test.ear\".WeldStartService" =>
"org.jboss.msc.service.StartException in service
jboss.deployment.unit.\"test.ear\".WeldStartService: Failed to start service
Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied
dependencies for type TestEJB1 with qualifiers @Default
at injection point [BackedAnnotatedField] @Inject private test.TestEJB2.test1
at test.TestEJB2.test1(TestEJB2.java:0)
"}}
{code}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)