dev@glassfish.java.net

Deploying a single file fails deployment

From: Vivek Pandey <Vivek.Pandey_at_Sun.COM>
Date: Tue, 21 Oct 2008 10:55:48 -0700

On the jruby connector trunk, we are putting together support for
pluggable ruby based frameworks based on Rack. One of the framework
'Sinatra' could have just one ruby file. Sinatra provides a simple and
powerful way to create restful apps in ruby.

So if the Sinatra file is: blog.rb which has contents such as:

       require "rubygems"
        require "sinatra"
        
        get '/' do
          "And the blogging begins"
        end



So we expect the deployment to happen as, asadmin deploy blog.rb. When I
try to deploy it, the deployer expects it to be a zip archive and then
fails deployment. I dont think we need to have this restriction, given
that the container can handle such archive. Is there any workaround for
this?

-vivek.


Oct 21, 2008 5:43:54 PM
com.sun.enterprise.deployment.deploy.shared.InputJarArchive getJarFile
SEVERE: enterprise.deployment.backend.fileOpenFailure
Oct 21, 2008 5:43:54 PM org.glassfish.api.ActionReport failure
SEVERE: Error opening deployable artifact : /tmp/gfv3/upl-64179/blog.rb
java.io.IOException: error in opening zip file -- invalid zip file:
jar:/tmp/gfv3/upl-64179/blog.rb
    at
com.sun.enterprise.deployment.deploy.shared.InputJarArchive.getJarFile(InputJarArchive.java:275)
    at
com.sun.enterprise.deployment.deploy.shared.InputJarArchive.open(InputJarArchive.java:252)
    at
com.sun.enterprise.deploy.shared.ArchiveFactory.openArchive(ArchiveFactory.java:121)
    at
com.sun.enterprise.deploy.shared.ArchiveFactory.openArchive(ArchiveFactory.java:75)
    at
org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:191)
    at
com.sun.enterprise.v3.admin.CommandRunner$2.execute(CommandRunner.java:302)
    at
com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:312)
    at
com.sun.enterprise.v3.admin.CommandRunner.doCommand(CommandRunner.java:119)
    at
com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:259)
    at
com.sun.enterprise.v3.admin.AdminAdapter.service(AdminAdapter.java:176)
    at
com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:147)
    at
com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:180)
    at
com.sun.grizzly.http.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:633)
    at
com.sun.grizzly.http.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:570)
    at
com.sun.grizzly.http.DefaultProcessorTask.process(DefaultProcessorTask.java:827)
    at
com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:152)
    at
com.sun.enterprise.v3.services.impl.GlassfishProtocolChain.executeProtocolFilter(GlassfishProtocolChain.java:71)
    at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
    at
com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
    at
com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
    at
com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
    at
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:56)
    at
com.sun.grizzly.util.WorkerThreadImpl.processTask(WorkerThreadImpl.java:325)
    at com.sun.grizzly.util.WorkerThreadImpl.run(WorkerThreadImpl.java:184)
Caused by: java.util.zip.ZipException: error in opening zip file
    at java.util.zip.ZipFile.open(Native Method)
    at java.util.zip.ZipFile.<init>(ZipFile.java:114)
    at java.util.jar.JarFile.<init>(JarFile.java:133)
    at java.util.jar.JarFile.<init>(JarFile.java:97)
    at
com.sun.enterprise.deployment.deploy.shared.InputJarArchive.getJarFile(InputJarArchive.java:266)
    ... 23 more