[ 
https://issues.apache.org/jira/browse/GERONIMO-3420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12520624
 ] 

Donald Woods commented on GERONIMO-3420:
----------------------------------------

Updating the datastream to include a leading version number as an int and 
changing the file length to a Long -

 * RemoteDeployer data stream format:
 *   0) an int, the version of this datastream format - 
REMOTE_DEPLOY_REQUEST_VER
 *   1) an int, the number of files being uploaded
 *   2) for each file:
 *     2.0) a UTF String, the filename of the file being uploaded
 *     2.1) a long, the length of the file in bytes
 *     2.2) byte[], byte count equal to the number above for the file
 *
 * RemoteDeployer response stream format:
 *   It returns a serialized stream containing:
 *   0) an int, the version of this datastream format - 
REMOTE_DEPLOY_RESPONSE_VER
 *   1) a UTF string, the status (should be "OK")
 *   2) an int, the number of files received
 *   3) for each file:
 *     3.1) a UTF String, the path to the file as saved to the server's 
filesystem



> Remote deploy of an EAR without an application.xml plan fails
> -------------------------------------------------------------
>
>                 Key: GERONIMO-3420
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-3420
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: deployment
>    Affects Versions: 2.0, 2.0.x, 2.1
>         Environment: Two Linux boxes on the same subnet with 
> remoteDeployAddress reconfigured from localhost to the external interface
>            Reporter: Donald Woods
>            Assignee: Donald Woods
>            Priority: Critical
>             Fix For: 2.0.x, 2.1
>
>
> Remote deploy of an EAR that doesn't have a application.xml fails, because 
> the EARConfigBuilder.getEarPlan() is looking for the module/earFile to end 
> with ".ear" to determine if it is an EAR w/o an app plan, but when using the 
> remoteDeployer, the files are created as temp files without an extension, 
> like remote-deploy31452 -
>     private ApplicationInfo getEarPlan(File planFile, JarFile earFile, 
> ModuleIDBuilder idBuilder) throws DeploymentException {
>         String specDD;
>         ApplicationType application = null;
>         if (earFile != null) {
>             try {
>                 URL applicationXmlUrl = DeploymentUtil.createJarURL(earFile, 
> "META-INF/application.xml");
>                 specDD = DeploymentUtil.readAll(applicationXmlUrl);
>                 //we found something called application.xml in the right 
> place, if we can't parse it it's an error
>                 XmlObject xmlObject = XmlBeansUtil.parse(specDD);
>                 application = 
> convertToApplicationSchema(xmlObject).getApplication();
>             } catch (XmlException e) {
>                 throw new DeploymentException("Could not parse 
> application.xml", e);
>             } catch (Exception e) {
>                 //ee5 spec allows optional application.xml, continue with 
> application == null
>                 if (!earFile.getName().endsWith(".ear")) {
>                     return null;
>                 }
>                 //TODO return application.xml that we can make metadata 
> complete?
>             }
>         }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to