That looks good to me- I did have a look around the code, and your suggestion was pretty much what I was thinking. I didn't get enough time to get it working due to work commitments. I'm away for a couple of days, but will keep playing with this if I can.

Can you send the stack trace for your NullPointerException?

Cheers,

Jon

Sent from my iPhone

On 13 Jun 2009, at 08:38, Keulkeul <[email protected]> wrote:


Hi,

I just noticed that to try to execute OpenEJB container in remotable
context, i was creating new InitialContext object (with
openejb.embedded.remotable key initialization) into the start method of the
TestEJB bundle.

Bundle bundle = context.getBundle();
OpenEjbApplication application = new OpenEjbApplication(bundle);
context.registerService(OpenEjbApplication.class.getName(), application,
null);

// New Instructions ...
Properties properties = new Properties();
properties.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.openejb.client.LocalInitialContextFactory");
properties.setProperty("openejb.embedded.remotable", "true");

new InitialContext(properties);

I think it is wrong way, because i suppose that the
openejb.embedded.remotable parameter must be activated into the classes of
the org.apache.openejb.server bundle.

So now, i am trying to create an EJBD server in explicity way. Thanks to the
JUnit class tests of OpenEJB, i have created an EJBD server into the
OpenEJBServer class of the org.apache.openejb.server bundle, like this:

public void init(File baseDir) throws OpenEJBException {
   ...
   properties.put("openejb.home", homeDir.getAbsolutePath());
   properties.put("openejb.base", baseDir.getAbsolutePath());
properties.put("openejb.configuration", configFile.getAbsolutePath());
   properties.put("openejb.deployments.classpath", "false");

   OpenEJB.init(properties);

   EjbServer ejbServer = new EjbServer();
   Properties initProps = new Properties();
   try {
       ejbServer.init(initProps);
       ServiceDaemon serviceDaemon = new ServiceDaemon(ejbServer, 0,
"localhost");
       serviceDaemon.start();
   } catch (Exception e) {
       e.printStackTrace();
   }
}

So, the EJBD server is created. I can connect a standalone application to EJBD protocol (it's working), i can enumerate EJB naming (it's working).

But i can't to lookup object because a nullpointer exception is thrown. I suppose the classpath isn't initialized into the EJBD server configuration
...

Do you think i'm crazy to do like this ?

Mickael


Jonathan Gallimore-2 wrote:

That's a total guess on my part. I'm going have a quick play around with
this now, I'll let you know if I get it going :)

Jon

On Thu, Jun 11, 2009 at 8:26 PM, Keulkeul <[email protected]> wrote:


Hi Jonathan,

Thanks for your replying.

Your said "so I suspect that either the setting you're applying isn't
being
passed through to the OpenEJB server in the bundle". I don't think so because when i'm setting InitialContext with openejb.embedded.remotable
key
value, it is taken into account because the following message is
displaying

** Starting Services **
NAME                 IP              PORT

Mickael



Jonathan Gallimore-2 wrote:

I had to comment something out in terms of applying properties to the embedded OpenEJB in the code I put up on my people.apache.org page, as
I
was
getting a ConcurrentModificationException with the code left in, so I
suspect that either the setting you're applying isn't being passed
through
to the OpenEJB server in the bundle.

I'll have a poke around the code this evening and see if I can get it
working with remotable working.

Jon

On Wed, Jun 10, 2009 at 3:45 PM, Keulkeul <[email protected]>
wrote:


Hi,

I am using OpenEJB 3.1.1 with the Equinox OSGi container thanks to
this
post
(http://openejb.apache.org/osgi-openejb.html) and this topic
(http://www.nabble.com/OpenEJB-and-OSGi-td23423565.html#a23423565)
related
to the OpenEJB OSGi integration. I can create one bundle with several
EJB
stateless POJOs and it is working fine.

So now, i would like to implement WebServices in using EJB Stateless
annoted
with the @stateless and @Webservice instructions (like HelloEjbService
class
example located into the openejb-examples-3.1 examples package).

However, i have a problem during the initialization of the OpenEJB
InitialContext. I suppose that OpenEJB must be executed in remotable
context, so openejb.embedded.remotable key is fixed to true value.
But,
no
server (httpejbd, ejbd) have been created.

With OpenEJB OSGi integration i'm getting

** Starting Services **
NAME                 IP              PORT

In opposition, without OpenEJB OSGi integration i was getting

** Starting Services **
NAME                 IP              PORT
httpejbd             127.0.0.1       4204
admin thread         127.0.0.1       4200
ejbd                 localhost       4202

In fact, i would like your opinion about this issue.

Is anybody test another kind of EJB into OpenEJB OSGi integration like WebService ? or just calling EJBs declared into a bundle in remote way
?

Mickael
--
View this message in context:

http://www.nabble.com/OpenEJB%2C-OSGi-and-OpenEJB3%27s-remoting-capabilities-tp23963809p23963809.html
Sent from the OpenEJB User mailing list archive at Nabble.com.





--
View this message in context:
http://www.nabble.com/OpenEJB%2C-OSGi-and-OpenEJB3%27s-remoting-capabilities-tp23963809p23987456.html
Sent from the OpenEJB User mailing list archive at Nabble.com.





--
View this message in context: 
http://www.nabble.com/OpenEJB%2C-OSGi-and-OpenEJB3%27s-remoting-capabilities-tp23963809p24010064.html
Sent from the OpenEJB User mailing list archive at Nabble.com.

Reply via email to