× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Huh. I was just saying rather than spending hours and days trying to figure
out how to call a Java from with a CL, etc use the appropriate language.
Compile as a RPGLE module and bind to a cl driver module. So each module
does its job.

Everything I build is in the form of .

EX0001 - Create instructions
EX0001_M01 - In this example a CLLE module.
EX0001_M02 - RPGLE module to run Java.

You have one object for distribution and the correct language for the
problem.

With ILE it is so simple to use the language appropriate for the task why do
use them.

I agree on the JVM. If you are going to have a lot of different users
hitting this thing you are probably better to create a batch processor and
communicate through a data queue. The unfortunate part of batch processors
is that you have to get them started, some mechanism for checking to make
sure they are still running and some method to restart them if they get
ended. That can be a hassle.

As far as the sharing, if it is common logic it needs to be in a service
program.

On Thu, Jan 20, 2011 at 1:33 PM, Joe Sam Shirah <joe_sam@xxxxxxxxxxxxx>wrote:


Hi Alan,

I wanted to respond to your message, but I'm not sure now if I read it
in the context you meant. There is an underlying premise for all the
interprocess communications ( IPC ) suggestions rather than just returning
a
value from a call. That is that, as Dan Kimmel noted, JVM startup is
relatively slow. In addition, starting multiple JVM's (sometimes
inadvertently) can cause severe memory problems. There may even be a
deeper
one of language independence as a goal, or having something that can handle
multiple scenarios. .

People usually think of efficiency as performance speed, but there can
be many other considerations for a project, or that might span multiple
projects. A loop that does nothing is pretty fast, but it does nothing.
Clients often value our services, for example, because we have a lot of
tested code from previous projects that can be reused/shared instead of
starting from scratch. That's a considerably different viewpoint than a
one-off in a given shop.

But my main point is in the first paragraph for those who may wonder why
the suggestions didn't focus on binding RPG or CL and Java.


Joe Sam

Joe Sam Shirah - http://www.conceptgo.com
conceptGO - Consulting/Development/Outsourcing
Java Filter Forum: http://www.ibm.com/developerworks/java/
Just the JDBC FAQs: http://www.jguru.com/faq/JDBC
Going International? http://www.jguru.com/faq/I18N
Que Java400? http://www.jguru.com/faq/Java400

----- Original Message -----
From: "Alan Campin" <alan0307d@xxxxxxxxx>
To: "Java Programming on and around the IBM i" <java400-l@xxxxxxxxxxxx>
Sent: Tuesday, January 18, 2011 6:43 PM
Subject: Re: Java class return data to calling CL program


Why bother. Create an RPG module, bind it to the CLLE module and return
data
to CL. Use the language appropriate for the job. That is what ILE is for.

On Tue, Jan 18, 2011 at 3:47 PM, Joe Sam Shirah
<joe_sam@xxxxxxxxxxxxx>wrote:


Native message queues are another possibility.


Joe Sam

Joe Sam Shirah - http://www.conceptgo.com
conceptGO - Consulting/Development/Outsourcing
Java Filter Forum: http://www.ibm.com/developerworks/java/
Just the JDBC FAQs: http://www.jguru.com/faq/JDBC
Going International? http://www.jguru.com/faq/I18N
Que Java400? http://www.jguru.com/faq/Java400

----- Original Message -----
From: "David Gibbs" <david@xxxxxxxxxxxx>
To: "Java Programming on and around the IBM i" <java400-l@xxxxxxxxxxxx>
Sent: Tuesday, January 18, 2011 3:49 PM
Subject: Re: Java class return data to calling CL program


Jason Abreu wrote:
How would you return a value from an executable Java class to a CL
program?

You can also use a data queue.

Have the CL program generate a key that's passed to the java program
...
which does it's work and sticks the value in a keyed data queue. The
CL
can then use the QRCVDTAQ api to get the value based on the key it
passed
in.

That way there's no risk of multiple users colliding.

You could use the job number as the data queue key.

david



--
This is the Java Programming on and around the IBM i (JAVA400-L) mailing
list
To post a message email: JAVA400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/java400-l
or email: JAVA400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/java400-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.