users@glassfish.java.net

RE: RE: RE: RE: JNI/CompositeApp/Glassfish

From: Martin, Ray <armart3_at_tycho.ncsc.mil>
Date: Fri, 29 May 2009 07:38:35 -0400

i am readin' and scratchin' for JCA information - WOW. What a complex
convoluted mechanism to merely call a tiny piece of code.
 
i have many Glassfish instances running a variety of things as SOA
nodes. One of the things that one of the Glassfish nodes must do is run
a mathematical algorithm called a bayesian net.
 
Why should it matter that that one instance is not portable? So, it
must run on a specific hardware platform, who cares? All that is
necessary is for the classloader to function properly to allow this
particular non-portable code to run in a nice simplistic manner.
 
But, no - i now am required to build my own EIS-like system to contain a
daemon process to listen for commands to run a small algorithm. Then i
need to create an adapter. Then i need to create a connector. Then i
need to ... oh boy.
 
And, there is something wrong with a system in which a Glassfish node
performs some specialty algorithm? Hmm - yep, i am too dumb to
understand that.

________________________________

From: Martin, Ray
Sent: Friday, May 29, 2009 6:22 AM
To: users_at_glassfish.dev.java.net
Subject: RE: RE: RE: JNI/CompositeApp/Glassfish


i am too dumb to know that was a solution...

________________________________

From: Markus Karg [mailto:karg_at_quipsy.de]
Sent: Friday, May 29, 2009 6:14 AM
To: users_at_glassfish.dev.java.net
Subject: RE: RE: JNI/CompositeApp/Glassfish



The idea of EJB is to have a portable application which runs on any
application server on any operating system on any hardware platform. JNI
works only with a particular operating system and hardware platform.
These two core ideas are absolutely not compatible. It just makes no
sense to use EJB directly with JNI. If native stuff is needed in an
enterprise application, it has to be provided in the form of a JCA 1.5
adapter. This is the official Java EE solution to bind portable
applications (EJB) to platform-specific code (JNI). What problem do you
have with that?

 

From: Martin, Ray [mailto:armart3_at_tycho.ncsc.mil]
Sent: Freitag, 29. Mai 2009 12:08
To: users_at_glassfish.dev.java.net
Subject: RE: JNI/CompositeApp/Glassfish

 

Very smart people created JNI.

Very smart people created EJB.

 

These very smart people make sure that JNI cannot operate within EJB -
why would people do something like that?

 

i have fuddled for months building a system around glassfish - now it
looks like i am back to ServiceMix, where i was a year ago

 

________________________________

From: Martin, Ray
Sent: Thursday, May 28, 2009 12:54 PM
To: users_at_glassfish.dev.java.net
Subject: JNI/CompositeApp/Glassfish

Does anyone have a JNI application running in Glassfish?

 

I have a third party JNI app (Netica). It runs fine from the command
line.

 

i have an EJBModule and a BPEL project added to a composite app. The
composite app is deployed to Glassfish and runs fine - receiving and
responding to SOAP message.

 

i then add the JNI app to the EJBModule and deploy the composite app to
Glassfish.

 

there are two SOAP messages to the composite app - setup and activate.

 

i issue the setup message - the request and response occur.

i issue the activate message - the JNI app runs - all is good - the
results are stored in the database.

after the JNI app should be completed, the memory usage starts to climb.

 

any suggestions?