[
https://issues.apache.org/jira/browse/TOMEE-1521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14340531#comment-14340531
]
Adam Cornett commented on TOMEE-1521:
-------------------------------------
The ConfigurationFactory class reads both the list of explicit deployments, as
well as "additional deployments' (i.e. items dropped into any of the deployment
directories setup in the tomee.xml file) in the getDeclaredApps() method.
It then deploys these applications, however the AutoDeployer class is unaware
that these applications have been deployed and will attempt to deploy them
after startup.
The AutoDeployer does correctly ignore the extracted ear/war folders (that is
handled by the DeploymentsResolver class)
Thus it seems that the solution is to provide visibility to the AutoDeployer of
the set of apps initially deployed.
> Duplicate App Deployment when autoDeploy="true"
> -----------------------------------------------
>
> Key: TOMEE-1521
> URL: https://issues.apache.org/jira/browse/TOMEE-1521
> Project: TomEE
> Issue Type: Bug
> Affects Versions: 2.0.0, 1.7.1
> Reporter: Adam Cornett
> Priority: Minor
>
> When using autoDeploy:
> {code:xml}
> <tomee>
> <Deployments dir="apps" autoDeploy="true" />
> </tomee>
> {code}
> with an ear in the apps folder (lets call it my-app-1.0.ear) when I start
> TomEE, it will extract the ear (to $CATALINA_HOME/apps/my-app-1.0) then start
> deploying the application.
> After tomee finishes deploying my application, I get this oddity in the log:
> {noformat}
> 26-Feb-2015 12:51:39.311 INFO [localhost-startStop-1]
> org.apache.openejb.cdi.OpenEJBLifecycle.startApplication OpenWebBeans
> Container has started, it took 816 ms.
> 26-Feb-2015 12:51:39.973 INFO [AutoDeployer]
> org.apache.openejb.config.AutoDeployer.scan New File:
> /opt/tomee/apps/my-app-1.0.ear
> 26-Feb-2015 12:51:39.973 INFO [AutoDeployer]
> org.apache.openejb.config.AutoDeployer.fileAdded Starting Auto-Deployment of:
> /opt/tomee/apps/my-app-1.0.ear
> {noformat}
> TomEE then tries to deploy the application (which it already started), until
> (several hundred lines later) gives me:
> {noformat}
> 26-Feb-2015 12:51:44.288 SEVERE [AutoDeployer]
> org.apache.openejb.assembler.classic.Assembler.createApplication Application
> cannot be deployed as it contains deployment-ids which are in use: app:
> /opt/tomee/apps/my-app-1.0
> ... (errors for the duplicate IDs on all of my EJB objects already deployed
> in the now un-zipped ear)
> {noformat}
> It seems that the AutoDeployer is not checking to see if the 'New File' is
> already deployed. I can build a minimal working example if needed, but I
> think this one should be fairly easy to re-create.
> It should be noted that the initial deployment works, and my application
> seems to function correctly, but start up does take longer (~5 sec) due to
> the failed deployment attempt.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)