I'm trying to deploy an existing application EAR using deployTool
which contains a JAR and a WAR file. In the ejb-jar.xml I have the text shown below:
<message-driven >
<description><![CDATA[Cleanup TPX Service]]></description>
<display-name>CleanupMDBService</display-name>
<ejb-name>CleanupMDBService</ejb-name>
<ejb-class>com.clearorbit.connect.service.mdb.CleanupMDBService</ejb-class>
<transaction-type>Container</transaction-type>
<acknowledge-mode>Auto-acknowledge</acknowledge-mode>
<message-driven-destination>
<destination-type>javax.jms.Queue</destination-type>
</message-driven-destination>
</message-driven>
When I try to deploy I get a parse error:
com.sap.engine.deploy.exceptions.BaseIOException: Cannot parse persistent.xml
or storage.xml for jar <path to jar here>
Reason: com.sap.engine.deploy.exceptions.BaseIOException: Cannot parse ejb-jar.xml for jar <path to jar here>
Reason: java.lang.ArrayIndexOutOfBoundsException: 2..
When I take the acknowledge-mode tag out
i.e. <acknowledge-mode>Auto-acknowledge</acknowledge-mode>, it deploys.
If I use the deploy tool's GUI
to set the acknowledge-mode for an MDB, it generates
the exact same XML code as I have in my existing ejb-jar.xml. Why can't deploytool parse this line?