0 Replies Latest reply on May 31, 2012 11:08 AM by piy26

    JSR88 deployment to JBoss in AS 7.1.0 not working properly. (giving improper Deployment URL)

    piy26

      Hi,

       

      I am trying to use JSR88 deployment to JBoss as per the instructions provided in https://community.jboss.org/wiki/JSR88Client/diff?secondVersionNumber=16&_sscc=t

       

      I want to deploy a test.war file using JSR88 implementation provided by JBOSS.

       

      However, My test.war file gets uploaded at location as $JBOSS_HOME\standalone\data\content\d7\37f7368101b293d280c225326dd8774aa315c1\content

       

      but the war gets registered within standalone.xml as:

       

      <deployments>

              <deployment name="file:/C:/Users/thisuser/AppData/Local/Temp/test.war" runtime-name="file:/C:/Users/thisuser/AppData/Local/Temp/test.war">

                  <content sha1="d737f7368101b293d280c225326dd8774aa315c1"/>

              </deployment>

      </deployments>

       

      Thus the context created for the deployed war is of form /file:/C:/Users/thisuser/AppData/Local/Temp/test.war.

       

      I followed the code sample for AS 7 as mentioned in the above JBOSS WIKI link.

       

      While browsing through code from SVN for org.jboss.as.ee.deployment.spi.DeploymentManagerImpl.java

       

       

      private TargetModuleInfo createDeployment(InputStream moduleArchive, String moduleName)

      {

          ....

          ....

       

      line:470

          String deploymentName = tmpFile.getParent() + File.separator + this.metaData.getDeploymentName();
         

           File deployment = new File(deploymentName);
           if ((deployment.exists()) && (!(deployment.delete())))
             throw new IOException(DeploymentMessages.MESSAGES.cannotDeleteExistingDeployment(deployment));

         

          tmpFile.renameTo(deployment);
          moduleInfo.setModuleID(deployment.toURI().toURL());
          return moduleInfo;

      }

       

      It seems that what is set in moduleInfo is not the actual name of the WAR but the entire temporary path at which it gets created at server during the process of deployment.

      This results in the  deployment name  and runtime-name of the context to be a complete FILE URI rather that the actual context name.

       

       

      Requesting to please comment on my observation. Is there anything within the process of JSR88 deployment that I am missing or am I missing any configuration ?

      Is the code observation a cause of the problem ?

       

      Thanks in advance.