On Mar 13, 2008, at 5:57 PM, David Blevins wrote:

So I think i've fixed this. Better said it should definitely work for linux, osx. Some doubts on windows.

I've added a new option to deploy as well '-u' or '--undeploy' which will undeploy the app if deployed before attempting to deploy.

More testers needed, especially for windows.

Ok, looks like lack of sleep is catching up with me and I didn't actually commit when I sent this message.

All committed now.

$ svn ci
Sending container/openejb-core/src/main/java/org/apache/openejb/ assembler/classic/cmd/Info2Properties.java Sending container/openejb-core/src/main/java/org/apache/openejb/ cli/MainImpl.java Sending container/openejb-core/src/main/java/org/apache/openejb/ config/Deploy.java Sending container/openejb-core/src/main/java/org/apache/openejb/ config/Undeploy.java Sending container/openejb-core/src/main/java/org/apache/openejb/ util/SuperProperties.java Sending container/openejb-core/src/main/resources/org/apache/ openejb/config/Messages.properties Sending container/openejb-core/src/test/java/org/apache/openejb/ util/SuperPropertiesTest.java
Transmitting file data .......
Committed revision 636945.

-David




-David

On Mar 13, 2008, at 5:37 AM, Karan Malhi wrote:

If I undeploy a valid or invalid jar, the jar file still remains in the apps directory . When i try to deploy after the undeploy, it says the app is already deployed. Below is what I tried with a "good" jar which had a valid
(with annotations in the right place) Stateless Session bean.

[EMAIL PROTECTED]:~/projects/temp/openejb$ openejb deploy -d good/good.jar
Application deployed successfully at "good/good.jar"
App(id=/home/karan/projects/temp/openejb/openejb-3.0/apps/good.jar)
EjbJar(id=good.jar, path=/home/karan/projects/temp/openejb/ openejb-3.0
/apps/good.jar)
      Ejb(ejb-name=PenImpl, id=PenImpl)
          Jndi(name=PenImplLocal)


[EMAIL PROTECTED]:~/projects/temp/openejb$ openejb undeploy
/home/karan/projects/temp/openejb/openejb-3.0/apps/good.jar
Successfully undeployed module with moduleId
"/home/karan/projects/temp/openejb/openejb-3.0/apps/good.jar" .
[EMAIL PROTECTED]:~/projects/temp/openejb$ openejb deploy -d good/good.jar
Application already deployed at "/home/karan/projects/temp/openejb/ openejb-
3.0/apps/good.jar"
[EMAIL PROTECTED]:~/projects/temp/openejb$


On Thu, Mar 13, 2008 at 8:07 AM, David Blevins <[EMAIL PROTECTED] >
wrote:


On Mar 13, 2008, at 4:41 AM, Karan Malhi wrote:

Thanks,

Just trying to break things on purpose to see the validation
messages.  I
tried the same example after you made changes and it works fine, I
get a
ValidationException. One thing though, when I start the server, the
OpenEJB
version is showing up as 3.1 (see below). Shouldn't this be 3.0 ?

Apache OpenEJB 3.1-SNAPSHOT    build: 20080313-07:18

That's trunk.  The tag is 3.0

Secondly, after my application failed validation, I tried to deploy
the app
again, this time I used the -d flag to see a detailed validation
summary.
However, the commandline tool reported back that the application is
already
deployed. Looks like when we first deploy it, it copies the jar to
the apps
directory and if validation fails, it does not remove the jar. When
we try
to redeploy it, it finds the jar in there and just quiety returns the message that the app is deployed. If we can copy the jar to the apps
directory after it passes validation, that would probably resolve
the issue.
Below is the output after I try to deploy it again:

[EMAIL PROTECTED]:~/projects/temp/openejb$ openejb deploy -d test.jar
Application already deployed at
"/home/karan/projects/oss/openejb3/assembly/openejb-standalone/
target/openejb-
3.1-SNAPSHOT/apps/test.jar"

What happens if you 'openejb undeploy' the invalid jar?

-David




On Thu, Mar 13, 2008 at 12:13 AM, David Blevins <[EMAIL PROTECTED]

wrote:


On Mar 12, 2008, at 7:58 PM, Karan Malhi wrote:

Was just trying out something. I created a simple interface and
annotated it
with @Stateless.  I also created a separate class (no relation to
the
interface) and annotated the class with @Stateless. Both of these
are shown
below. Then I compiled them and put them in a jar (test.jar) and
deployed
the jar. OpenEJB displays them as EJB's without a JNDI name. Is this
the
correct behaviour? Also I started openejb using the following
command
,expecting to see the ejb-jar.xml flushed out somewhere, but did not
find
the xml file. What am i doing wrong here?

openejb start -Dopenejb.descriptors.output=true &

Check your openejb.log for a line that says where the xml was output.


The use of @Stateless on an interface doesn't work -- the bean class needs to be a class. We clearly don't validate that, we should. The other is you don't have any interfaces, so nothing bound to JNDI. We
should validate that too.

As long as we're respinning, I'll throw both of those checks in.

-David


Here is what happens when i deploy the jar

[EMAIL PROTECTED]:~/projects/temp/openejb$ openejb deploy test.jar
Application deployed successfully at "test.jar"
App(id=/home/karan/projects/oss/openejb3/assembly/openejb-
standalone/
target/openejb-
3.0-SNAPSHOT/apps/test.jar)
EjbJar(id=test.jar,
path=/home/karan/projects/oss/openejb3/assembly/openejb- standalone/
target/openejb-
3.0-SNAPSHOT/apps/test.jar)
    Ejb(ejb-name=Car, id=Car)

    Ejb(ejb-name=CalculatorImpl, id=CalculatorImpl)


[EMAIL PROTECTED]:~/projects/temp/openejb$ cat Car.java
package com.lq;

import javax.ejb.Stateless;

@Stateless
public interface Car{
    public void start();
}
[EMAIL PROTECTED]:~/projects/temp/openejb$ cat CalculatorImpl.java
package com.lq;

import javax.ejb.Stateless;

@Stateless
public class CalculatorImpl{
    public double add(double x, double y){
            return x+y;
    }
}


--
Karan Singh Malhi




--
Karan Singh Malhi




--
Karan Singh Malhi



Reply via email to