[jboss-jira] [JBoss JIRA] (WFCORE-1912) Redeploy deployment if all missing dependencies for deployment are corrected

Brian Stansberry (JIRA) issues at jboss.org
Tue Nov 1 09:53:00 EDT 2016


    [ https://issues.jboss.org/browse/WFCORE-1912?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13314890#comment-13314890 ] 

Brian Stansberry commented on WFCORE-1912:
------------------------------------------

Playing with this it works fine.

Start the server:

{code}
[disconnected /] embed-server --std-out=echo --admin-only=false -c=standalone-full.xml
...
{code}

Deploy an app missing a queue dependency, but ensure the failure doesn't trigger rollback:

{code}
[standalone at embedded /] deploy ~/tmp/luckywinner.ear --unmanaged --headers={rollback-on-runtime-failure=false}
...
08:21:25,416 INFO  [org.jboss.as.ejb3] (MSC service thread 2-6) WFLYEJB0042: Started message driven bean 'LuckyWinnerMDB' with 'activemq-ra.rar' resource adapter
08:21:25,472 ERROR [org.jboss.as.controller.management-operation] (AeshProcess: 7) WFLYCTL0013: Operation ("deploy") failed - address: ({"deployment" => "luckywinner.ear"}) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.queue.demo"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.luckywinner.luckywinner.env.\"org.jboss.as.demos.luckywinner.webapp.LuckyWinnerServlet\".queue is missing [jboss.naming.context.java.queue.demo]"]
}
08:21:25,492 INFO  [org.jboss.as.server] (AeshProcess: 7) WFLYSRV0010: Deployed "luckywinner.ear" (runtime-name : "luckywinner.ear")
08:21:25,493 INFO  [org.jboss.as.controller] (AeshProcess: 7) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.naming.context.java.queue.demo (missing) dependents: [service jboss.naming.context.java.module.luckywinner.luckywinner.env."org.jboss.as.demos.luckywinner.webapp.LuckyWinnerServlet".queue] 
... 
{code}

Add the missing queue:
{code}
[standalone at embedded /] jms-queue add --queue-address=DemoQueue --entries=queue/demo
08:22:17,427 INFO  [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 70) AMQ221003: Deploying queue jms.queue.DemoQueue
08:22:17,611 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 72) Initializing Mojarra 2.2.13.SP1 20160303-1204 for context '/luckywinner'
08:22:18,047 INFO  [org.apache.activemq.artemis.ra] (default-threads - 1) AMQ151002: Reconnected with broker
08:22:18,114 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 72) WFLYUT0021: Registered web context: '/luckywinner' for server 'default-server'
08:22:18,191 INFO  [org.jboss.as.controller] (AeshProcess: 8) WFLYCTL0183: Service status report
WFLYCTL0185:    Newly corrected services:
      service jboss.naming.context.java.queue.demo (new available)
{code}

App now works.

Remove the queue from the config. Suppress the failure.
 
{code}
[standalone at embedded /] jms-queue remove --queue-address=DemoQueue --headers={rollback-on-runtime-failure=false}
08:23:32,344 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 75) WFLYUT0022: Unregistered web context: '/luckywinner' from server 'default-server'
08:23:32,426 INFO  [org.jboss.as.controller] (AeshProcess: 9) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.naming.context.java.queue.demo (missing) dependents: [service jboss.naming.context.java.module.luckywinner.luckywinner.env."org.jboss.as.demos.luckywinner.webapp.LuckyWinnerServlet".queue] 

WFLYCTL0171: Removing services has lead to unsatisfied dependencies:
Service jboss.naming.context.java.queue.demo was depended upon by service jboss.naming.context.java.module.luckywinner.luckywinner.env."org.jboss.as.demos.luckywinner.webapp.LuckyWinnerServlet".queue
{code}

Reload to the now broken config. Deployment fails but is not rolled back:

{code}
[standalone at embedded /] reload --admin-only=false
08:23:48,743 INFO  [org.jboss.as.ejb3] (MSC service thread 2-7) WFLYEJB0042: Started message driven bean 'LuckyWinnerMDB' with 'activemq-ra.rar' resource adapter
08:23:48,748 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("add") failed - address: ([("deployment" => "luckywinner.ear")]) - failure description: {
    "WFLYCTL0412: Required services that are not installed:" => ["jboss.naming.context.java.queue.demo"],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => ["jboss.naming.context.java.module.luckywinner.luckywinner.env.\"org.jboss.as.demos.luckywinner.webapp.LuckyWinnerServlet\".queue is missing [jboss.naming.context.java.queue.demo]"]
}
08:23:48,753 INFO  [org.jboss.as.server] (Controller Boot Thread) WFLYSRV0010: Deployed "luckywinner.ear" (runtime-name : "luckywinner.ear")
08:23:48,754 INFO  [org.jboss.as.controller] (Controller Boot Thread) WFLYCTL0183: Service status report
WFLYCTL0184:    New missing/unsatisfied dependencies:
      service jboss.naming.context.java.queue.demo (missing) dependents: [service jboss.naming.context.java.module.luckywinner.luckywinner.env."org.jboss.as.demos.luckywinner.webapp.LuckyWinnerServlet".queue] 

08:23:48,768 INFO  [org.apache.activemq.artemis.ra] (default-threads - 1) AMQ151000: awaiting topic/queue creation java:/queue/demo
08:23:48,805 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0060: Http management interface listening on http://127.0.0.1:9990/management
08:23:48,805 INFO  [org.jboss.as] (Controller Boot Thread) WFLYSRV0051: Admin console listening on http://127.0.0.1:9990
08:23:48,805 ERROR [org.jboss.as] (Controller Boot Thread) WFLYSRV0026: WildFly Full 11.0.0.Alpha1-SNAPSHOT (WildFly Core 3.0.0.Alpha10) started (with errors) in 520ms - Started 566 of 833 services (11 services failed or missing dependencies, 468 services are lazy, passive or on-demand)
{code}

Fix the missing queue:

{code}
[standalone at embedded /] jms-queue add --queue-address=DemoQueue --entries=queue/demo
08:23:57,240 INFO  [org.apache.activemq.artemis.core.server] (ServerService Thread Pool -- 9) AMQ221003: Deploying queue jms.queue.DemoQueue
08:23:57,259 INFO  [javax.enterprise.resource.webcontainer.jsf.config] (ServerService Thread Pool -- 18) Initializing Mojarra 2.2.13.SP1 20160303-1204 for context '/luckywinner'
08:23:57,370 INFO  [org.wildfly.extension.undertow] (ServerService Thread Pool -- 18) WFLYUT0021: Registered web context: '/luckywinner' for server 'default-server'
08:23:57,413 INFO  [org.jboss.as.controller] (AeshProcess: 11) WFLYCTL0183: Service status report
WFLYCTL0185:    Newly corrected services:
      service jboss.naming.context.java.queue.demo (new available)
{code}

App now works.



> Redeploy deployment if all missing dependencies for deployment are corrected 
> -----------------------------------------------------------------------------
>
>                 Key: WFCORE-1912
>                 URL: https://issues.jboss.org/browse/WFCORE-1912
>             Project: WildFly Core
>          Issue Type: Enhancement
>          Components: Server
>            Reporter: Miroslav Novak
>            Assignee: Jason Greene
>              Labels: user_experience
>
> If deployment failed to deploy and later all missing dependencies for deployment are corrected then deployment would redeploy automatically. This behavior could be configurable. 
> For example if you deploy EJB which injects queue like:
> {code}
> @Resource(mappedName = "java:/jms/queue/OutQueue")
> private Queue outQueue;
> {code}
> and administrator deploys queue later then EJB would automatically get redeployed. 



--
This message was sent by Atlassian JIRA
(v7.2.2#72004)


More information about the jboss-jira mailing list