geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ye Lu" <yel...@gmail.com>
Subject Re: Deploying a GBean
Date Fri, 07 Apr 2006 22:52:55 GMT
Hi Aaron,

I commented out the addOperation calls and re-jared and tried to deploy
again.  Still the same error.  The command that I used to deply is
"*java -jar bin\deployer.jar --user system --password manager --verbose
deploy GBean1-plan.xml*".  There is no error message on the server side and
the error message I got on the client side is

    Error: Unable to distribute GBean1-plan.xml: Cannot deploy the
    requested application module
    (planFile=D:\geronimo-1.0\GBean1-plan.xml)

    org.apache.geronimo.common.DeploymentException: Cannot deploy the
    requested application module
    (planFile=D:\geronimo-1.0\GBean1-plan.xml)

        at
    org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:226)

        at
    org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:102)

        at

org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.invoke(<
generated>)

        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

        at
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker
.java:38)

        at
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(
GBeanOperation.java:
118)

        at
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:83
5)

        at
    org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java
:178)

        at
    org.apache.geronimo.kernel.KernelGBean.invoke(KernelGBean.java:125)

        at

org.apache.geronimo.kernel.KernelGBean$$FastClassByCGLIB$$1cccefc9.invoke(<g
enerated>)

        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)

        at
    org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
(FastMethodInvoker
.java:38)

        at
    org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(
GBeanOperation.java:
118)

        at
    org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(
GBeanInstance.java:83
5)

        at
    org.apache.geronimo.kernel.basic.BasicKernel.invoke(BasicKernel.java
:178)

        at
    org.apache.geronimo.kernel.jmx.MBeanServerDelegate.invoke
(MBeanServerDelegat
e.java:117)

        at
    mx4j.remote.rmi.RMIConnectionInvoker.invoke(RMIConnectionInvoker.java
:219)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
    sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39
)

        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl
.java:25)

        at java.lang.reflect.Method.invoke(Method.java:324)

        at
    mx4j.remote.rmi.RMIConnectionProxy.invoke(RMIConnectionProxy.java:34)

        at
    mx4j.remote.rmi.RMIConnectionSubjectInvoker.chain
(RMIConnectionSubjectInvoke
r.java:99)

        at
    mx4j.remote.rmi.RMIConnectionSubjectInvoker.access$000
(RMIConnectionSubjectI
nvoker.java:31)

        at
    mx4j.remote.rmi.RMIConnectionSubjectInvoker$1.run
(RMIConnectionSubjectInvoke
r.java:90)

        at java.security.AccessController.doPrivileged(Native Method)

        at javax.security.auth.Subject.doAsPrivileged(Subject.java:500)

        at
    mx4j.remote.MX4JRemoteUtils.subjectInvoke(MX4JRemoteUtils.java:163)

        at
    mx4j.remote.rmi.RMIConnectionSubjectInvoker.subjectInvoke
(RMIConnectionSubje
ctInvoker.java:86)

        at
    mx4j.remote.rmi.RMIConnectionSubjectInvoker.invoke
(RMIConnectionSubjectInvok
er.java:80)

        at $Proxy0.invoke(Unknown Source)

        at
    javax.management.remote.rmi.RMIConnectionImpl.invoke(
RMIConnectionImpl.java:
221)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
    sun.reflect.NativeMethodAccessorImpl.invoke(
NativeMethodAccessorImpl.java:39
)

        at
    sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl
.java:25)

        at java.lang.reflect.Method.invoke(Method.java:324)

        at
    sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)

        at sun.rmi.transport.Transport$1.run(Transport.java:148)

        at java.security.AccessController.doPrivileged(Native Method)

        at sun.rmi.transport.Transport.serviceCall(Transport.java:144)

        at
    sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)

        at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(
TCPTransport.java:7
01)

        at java.lang.Thread.run(Thread.java:534)
Thanks.

Ye



On 4/7/06, Aaron Mulder <ammulder@alumni.princeton.edu> wrote:
>
> Well, you certainly don't need the addOperation declarations -- the
> getter and setter there are already configuration when you add the
> attribute.
>
> Can you post the specific command you're running and error message
> you're getting with stack trace if any?
>
> Thanks,
>    Aaron
>
> On 4/7/06, Ye Lu <yel728@gmail.com> wrote:
> >
> > Hi Aaron,
> >
> > I just tried deploying with your modified deployment plan and still got
> the
> > same error.  Could there be something wrong with the gbean itself?  Here
> is
> > the source code for my test gbean.  Any ideas?
> >
> > Thanks.
> >
> > Ye
> >
> > ---------------
> >
> >
> > package com.businessobjects.geronimo;
> >
> > import javax.management.MalformedObjectNameException;
> > import javax.management.ObjectName;
> >
> > import org.apache.geronimo.gbean.GBeanInfo;
> > import org.apache.geronimo.gbean.GBeanInfoBuilder;
> > import org.apache.geronimo.gbean.GBeanLifecycle;
> >
> > //import org.apache.geronimo.kernel.jmx.JMXUtil;
> >
> > /**
> >  * Class AxisGbean
> >  */
> > public class GBean1 implements GBeanLifecycle {
> >
> >  private static final GBeanInfo GBEAN_INFO;
> >
> >  private final ObjectName objectName;
> >
> >  private String attribute1;
> >
> >  private String attribute2;
> >
> >  private String attribute3;
> >
> >  static {
> >   GBeanInfoBuilder infoFactory = new GBeanInfoBuilder(GBean1.class
> >     .getName(), GBean1.class);
> >
> >   // attributes
> >   infoFactory.addAttribute("objectName", String.class, false);
> >
> >   infoFactory.addAttribute("attribute1", String.class, true);
> >   infoFactory.addAttribute("attribute2", String.class, true);
> >   infoFactory.addAttribute("attribute3", String.class, true);
> >
> >   infoFactory.addOperation("setAttribute1", new Class[] { String.class});
> >   infoFactory.addOperation("getAttribute1");
> >
> >   // operations
> >   infoFactory.setConstructor(new String[] { "objectName" });
> >   GBEAN_INFO = infoFactory.getBeanInfo();
> >  }
> >
> >  /**
> >   * Constructor AxisGbean
> >   *
> >   * @param name
> >   * @param objectName
> >   */
> >  public GBean1(String objectName) throws MalformedObjectNameException {
> >   this.objectName = ObjectName.getInstance(objectName);
> >  }
> >
> >  public GBean1() {
> >   objectName = null;
> >  }
> >
> >  /**
> >   * Method doFail
> >   */
> >  public void doFail() {
> >  }
> >
> >  /**
> >   * Method doStart
> >   *
> >   * @throws Exception
> >   */
> >  public void doStart() throws Exception {
> >   System.out.println("GBean " + objectName + " Started");
> >  }
> >
> >  /**
> >   * Method doStop
> >   *
> >   * @throws Exception
> >   */
> >  public void doStop() throws Exception {
> >   System.out.println("GBean " + objectName + " Stoped");
> >  }
> >
> >  /**
> >   * Method getGBeanInfo
> >   *
> >   * @return
> >   */
> >  public static GBeanInfo getGBeanInfo() {
> >   return GBEAN_INFO;
> >  }
> >
> >  /**
> >   * @return Returns the attribute1.
> >   */
> >  public String getAttribute1() {
> >   return attribute1;
> >  }
> >
> >  /**
> >   * @param attribute1
> >   *            The attribute1 to set.
> >   */
> >  public void setAttribute1(String attribute1) {
> >   this.attribute1 = attribute1;
> >  }
> >
> >  /**
> >   * @return Returns the attribute2.
> >   */
> >  public String getAttribute2() {
> >   return attribute2;
> >  }
> >
> >  /**
> >   * @param attribute2
> >   *            The attribute2 to set.
> >   */
> >  public void setAttribute2(String attribute2) {
> >   this.attribute2 = attribute2;
> >  }
> >
> >  /**
> >   * @return Returns the attribute3.
> >   */
> >  public String getAttribute3() {
> >   return attribute3;
> >  }
> >
> >  /**
> >   * @param attribute3
> >   *            The attribute3 to set.
> >   */
> >  public void setAttribute3(String attribute3) {
> >   this.attribute3 = attribute3;
> >  }
> > }
> >
> >
> >
> > On 4/7/06, Aaron Mulder <ammulder@alumni.princeton.edu> wrote:
> > > How about:
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <configuration configId="GBean1">
> > > <dependency>
> > >    <uri>yelu/GBean1/1/jar</uri>
> > > </dependency>
> > > <gbean name="MyGBean"
> > class="com.businessobjects.geronimo.GBean1">
> > >    <attribute name="attribute1">test1</attribute>
> > > </gbean>
> > > </configuration>
> > >
> > > (assuming your JAR is at repository/yelu/jars/GBean1-1.jar
> > >
> > > Thanks,
> > >    Aaron
> > >
> > > On 4/7/06, Ye Lu <yel728@gmail.com> wrote:
> > > >
> > > > Hi Aaron,
> > > >
> > > > Sorry about the confusion.  Perhaps my previous message wasn't clear
> > enough.
> > > >  I meant to say that I had been using the deploy tool all along in
> the
> > way
> > > > that you have suggested but still got the deployment error.  I also
> > tried
> > > > the hot deploy method, but that didn't work either for the reason
> you
> > stated
> > > > below.  I asked one of my co-workers to try deploying a gbean with
> the
> > > > deploy tool using your suggested method and he got exactly the same
> > error as
> > > > I did.  Here is my deployment plan again:
> > > >
> > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > <configuration configId="GBean1">
> > > > <dependency>
> > > > <uri>yelu/GBean1/1/jar</uri>
> > > >
> > > > </dependency>
> > > > <gb:gbean xmlns:gb="
> > > > http://geronimo.apache.org/xml/ns/deployment-1.0"
> > > > name="geronimo.server:type=GBean "
> > > > class="com.businessobjects.geronimo.GBean1">
> > > >  <gb:attribute name="attribute1" type="java.lang.String">
> > > >  test1
> > > >  </gb:attribute>
> > > > </gb:gbean>
> > > > </configuration>
> > > >
> > > >
> > > > The jar file is in
> > > > geronimo/repository/yelu/jars/GBean1-1.jar.  Any
> > > > suggestions?
> > > >
> > > >
> > > > Thanks.
> > > >
> > > > Ye
> > > >
> > > >
> > > > On 4/7/06, Aaron Mulder <ammulder@alumni.princeton.edu> wrote:
> > > > > Sorry, there's a bug in the hot deployer in 1.0 and it can't
> deploy
> > > > > service plans (that is, anything except a J2EE application or
> module).
> > > > > If you use the deploy tool it should work.  The fix for this bug
> is
> > > > > already in, but you won't see it until the 1.1 release unless you
> > > > > build from SVN HEAD.  The command you can run is:
> > > > >
> > > > > java -jar bin/deployer.jar deploy GBean1-plan.xml
> > > > >
> > > > > Thanks,
> > > > >    Aaron
> > > > >
> > > > > On 4/7/06, Ye Lu <yel728@gmail.com > wrote:
> > > > > >
> > > > > > HI Aaron,
> > > > > >
> > > > > > I did exactly as you suggested below, but I am still getting
the
> > > > following
> > > > > > error message:
> > > > > >
> > > > > >
> > > > > > Error: Unable to distribute GBean1-plan.xml: Cannot deploy the
> > > > > > requested application module
> > > > > > (planFile=D:\geronimo-1.0\GBean1-plan.xml)
> > > > > >
> > > > > >
> > > > > > I took care to ensure that the gbean is compiled and jared with
> 1.4
> > as
> > > > well
> > > > > > and that didn't help either.  I tried putting the deployment
> plan
> > into
> > > > the
> > > > > > deply directory and I got the following server side exception:
> > > > > >
> > > > > > 11:22:56,834 INFO  [Hot Deployer] Deploying GBean1-plan.xml
> > > > > > 11:22:56,959 ERROR [Hot Deployer] Unable to deploy: Cound not
> open
> > > > module
> > > > > > file:
> > > > > >
> > > >
> > D:\geronimo-1.0\var\temp\geronimo-deployer24954.tmpdir\GBean1-plan.xml
> > > > > > org.apache.geronimo.common.DeploymentException :
> > Cound
> > > > not
> > > > > > open module file: D:\g
> > > > > >
> > > >
> > eronimo-1.0\var\temp\geronimo-deployer24954.tmpdir\GBean1-plan.xml
> > > > > >         at
> > > > > >
> > > > org.apache.geronimo.deployment.Deployer.deploy
> > (Deployer.java
> > > > > > :209)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.deployment.Deployer.deploy(Deployer.java:102)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.deployment.Deployer$$FastClassByCGLIB$$734a235d.i
> > > > > > nvoke(<generated>)
> > > > > >         at net.sf.cglib.reflect.FastMethod.invoke
> > > > > > (FastMethod.java:53)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke
> > (FastMethod
> > > > > > Invoker.java:38)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperatio
> > > > > > n.java:118)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.
> > > > > > java:835)
> > > > > >         at
> > > > > >
> > > > org.apache.geronimo.kernel.basic.BasicKernel.invoke
> > (BasicKernel.java:
> > > > > > 178)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.deployment.plugin.local.AbstractDeployCommand.doD
> > > > > > eploy(AbstractDeployCommand.java :106)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.deployment.plugin.local.DistributeCommand.run(Dis
> > > > > > tributeCommand.java:59)
> > > > > >         at java.lang.Thread.run(Thread.java :534)
> > > > > > 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:111)
> > > > > >         at java.util.jar.JarFile.<init>(JarFile.java :127)
> > > > > >          at java.util.jar.JarFile.<init>(JarFile.java:92)
> > > > > >         at
> > > > > >
> > > >
> > org.apache.geronimo.deployment.util.DeploymentUtil.createJarFile(Depl
> > > > > > oymentUtil.java:164)
> > > > > >         at
> > > > org.apache.geronimo.deployment.Deployer.deploy
> > > > > > ( Deployer.java:207)
> > > > > >         ... 10 more
> > > > > >
> > > > > > I don't know what I can try next.  Please advice.  Thanks.
> > > > > >
> > > > > >
> > > > > > Ye
> > > > > >
> > > > > >
> > > > > > On 4/7/06, Aaron Mulder <ammulder@alumni.princeton.edu>
wrote:
> > > > > > > You should put your JAR at, say, repository/yelu/jars/gbean-
> 1.jar
> > --
> > > > > > > note that it has the form
> > > > > > repository/<group>/jars/<file>-<version>.jar
> > > > > > > where group, file, and version can be anything you like,
but
> need
> > to
> > > > > > > be present and with a dash before the version.
> > > > > > >
> > > > > > > Then set your dependency URI to group/<file>/<version>/jar
> (like
> > > > > > > yelu/gbean/1/jar if you follow the path I used exactly).
> > > > > > >
> > > > > > > Le me know how you make out.
> > > > > > >
> > > > > > > Thanks,
> > > > > > >    Aaron
> > > > > > >
> > > > > > > On 4/7/06, Ye Lu < yel728@gmail.com> wrote:
> > > > > > > >
> > > > > > > > Hi Aaron,
> > > > > > > >
> > > > > > > > Thanks for your quick reply.  I tried your suggestion
and
> added
> > a
> > > > > > dependency
> > > > > > > > element in the deployment plan and copied GBean1.jar
into
> > > > > > > > geronimo/repository/GBean1/jars and I did not pass
the JAR
> file
> > to
> > > > the
> > > > > > > > deployer.  The following is the modified deployment
plan.
> > > > > > > >
> > > > > > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > > > > > <configuration configId="GBean1">
> > > > > > > > <dependency>
> > > > > > > > <uri>GBean1/jars</uri>
> > > > > > > > </dependency>
> > > > > > > >
> > > > > > > > <gb:gbean xmlns:gb="
> > > > > > > >
> > http://geronimo.apache.org/xml/ns/deployment-1.0"
> > > > > > > > name="geronimo.server:type=GBean"
> > > > > > > > class="com.businessobjects.geronimo.GBean1">
> > > > > > > >   <gb:attribute name="attribute1" type=" java.lang.String">
> > > > > > > >  test1
> > > > > > > >  </gb:attribute>
> > > > > > > > </gb:gbean>
> > > > > > > > </configuration>
> > > > > > > >
> > > > > > > >
> > > > > > > > I also tried putting GBean1/jars and GBean1/jars/GBean1.jar
> as
> > the
> > > > uri,
> > > > > > but
> > > > > > > > both times I got the following error:
> > > > > > > >
> > > > > > > >  Error: Unable to distribute GBean1-plan.xml: Cannot
deploy
> the
> > > > > > > >  requested application module
> > > > > > > >  (planFile=D:\geronimo- 1.0\GBean1-plan.xml)
> > > > > > > >
> > > > > > > > Any suggestion you can give will be greatly appreciated.
> > Thanks.
> > > > > > > >
> > > > > > > >
> > > > > > > > Ye
> > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > > > On 4/6/06, Aaron Mulder < ammulder@alumni.princeton.edu>
> wrote:
> > > > > > > > > You can't pass a JAR and plan to the deployer
for a custom
> > GBean.
> > > > > > > > > Instead, you need to install the JAR under
> geronimo/repository
> > and
> > > > > > > > > refer to it from a dependency element in the
plan for the
> > GBean.
> > > > Does
> > > > > > > > > that make sense or do you need some more detailed
help?
> > > > > > > > >
> > > > > > > > > Thanks,
> > > > > > > > >    Aaron
> > > > > > > > >
> > > > > > > > > On 4/6/06, Ye Lu < yel728@gmail.com > wrote:
> > > > > > > > > >
> > > > > > > > > > Hi,
> > > > > > > > > >
> > > > > > > > > > I am currently running Geronimo 1.0.  When
I tried to
> deploy
> > a
> > > > GBean
> > > > > > > > using
> > > > > > > > > > the command "java -jar bin\deployer.jar
--user system
> > --password
> > > > > > manager
> > > > > > > > > > deploy
> > > > > > > >
> > d:\geronimo-1.0\repository\GBean1\jars\GBean1.jar
> > > > > > > > > > GBean1-plan.xml ", I got the following error:
> > > > > > > > > >
> > > > > > > > > >     Error: Unable to distribute GBean1.jar:
Cannot
> deploy
> > the
> > > > > > requested
> > > > > > > > > >     application module (planFile=D:\geronimo-
> > > > 1.0\GBean1-plan.xml,
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > moduleFile=D:\geronimo-
> 1.0\var\temp\geronimo-deployer382.tmpdir\GBean1.jar
> > > > > > > > > > )
> > > > > > > > > >
> > > > > > > > > > My deployment plan is
> > > > > > > > > >
> > > > > > > > > > <?xml version="1.0" encoding="UTF-8"?>
> > > > > > > > > > <configuration configId="GBean1">
> > > > > > > > > > <gb:gbean
> > > > > > > > > >
> > > > > > > >
> > > > > >
> > > >
> > xmlns:gb="http://geronimo.apache.org/xml/ns/deployment-1.0
> > > > > > > > > > " name=" geronimo.server:type=GBean"
> > > > > > > > > >
> > class="com.businessobjects.geronimo.GBean1">
> > > > > > > > > >  <gb:attribute name="attribute1" type="
java.lang.String
> ">
> > > > > > > > > >  test1
> > > > > > > > > >  </gb:attribute>
> > > > > > > > > > </gb:gbean>
> > > > > > > > > > </configuration>
> > > > > > > > > >
> > > > > > > > > > I did a quick trace into the source code
and found that
> the
> > > > value of
> > > > > > > > builder
> > > > > > > > > > after the following loop is null and that
cause the
> > exception to
> > > > be
> > > > > > > > thrown.
> > > > > > > > > >
> > > > > > > > > > Object plan = null;
> > > > > > > > > >             ConfigurationBuilder builder
= null;
> > > > > > > > > >             for (Iterator i = builders.iterator();
> > i.hasNext();)
> > > > {
> > > > > > > > > >                 ConfigurationBuilder candidate
=
> > > > > > (ConfigurationBuilder)
> > > > > > > > > > i.next();
> > > > > > > > > >                 plan = candidate.getDeploymentPlan
> (planFile,
> > > > > > module);
> > > > > > > > > >                 if (plan != null) {
> > > > > > > > > >                     builder = candidate;
> > > > > > > > > >                     break;
> > > > > > > > > >                 }
> > > > > > > > > >             }
> > > > > > > > > >
> > > > > > > > > > Can you tell me what I have done wrong?
 Thanks in
> advance.
> > > > > > > > > >
> > > > > > > > > >
> > > > > > > > > > Ye
> > > > > > > > >
> > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > >
> >
> >
>

Mime
View raw message