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