× 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.



    Hi Fred,

    Let me say first, if you are not already aware of it, that systems
programmers and application developers have entirely different perspectives.
Things that seem eminently reasonable to one group can range from an
entirely new thought to appearing completely nuts to the other group.

    It is possible to some extent to write a controller program to handle
multiple applications in a single VM.  Some questions that occur to the app
developer are:  Why should I have to write one of these for every system (
shop, whatever ) and Do we have the expertise in-house to do it properly?

    While it may initially sound straightforward to start a new thread and
invoke new() or main(), issues can begin compounding.  BTW, it's certainly
a heck of a way to find out if your developers understand threads - and I
think you know what is too often the answer for that.  Among other issues,
Swing apps, but also the recommendation for AS/400 apps ( and I do see this
as a failing if it is really necessary ), is to call System.exit() to end
programs.  So, among other things, a security manager is usually necessary
in addition to other considerations.

    There are really good reasons for having a single or small number of
VMs.  Benefits include smaller memory usage ( if you have several hundred
users, lots of VMs sure beat up the box ) and faster startup time.  Who
better to do such a commonly desired task - and do it right - than the VM
writers?  Other problems for outsiders are, say a script ( I'm generalizing,
read CL program ) does several OS specific things, then calls Java.  How
does the app developer hook into something like that?

    I've looked into, and will probably at some point write a menuing system
that runs multiple jobs in the same VM, but it could never be as good as a
direct hook.  BTW, if others are interested, I haven't looked in depth and
it's fairly old, but there is a project that approaches this problem.  See

http://www.javagroup.org/echidna/

> In general, what are you opinions on the threads type of answer?

    While this isn't rocket science on a small, limited scale, you should
have some idea of the general level of thread expertise on all platforms.

> Too MUCH sharing and too complex

    Probably, mostly going back to my comment above.

> Lack of RPG or Native language support for a good threading model?

    This is a very serious issue in general, ignored by many on the AS/400,
although service programs can alleviate many of the problems.  But, in
context, it wouldn't help much here because of the issue of How do you get
the native app ( on a native to Java basis ) to communicate with the
specific VM?  I'm speaking of direct calls; I'm very aware of asynchronous
work arounds.

> Difficulty linking this model with large amounts of existing job-based
> code?

    Yes, particularly if you have third party code that does other things
before invoking Java as in my script example above.

    And for something entirely different,

> I have my own knowledge and opinions about why threading is easy/difficult
> and what its
> suited/not-suited for, but this group is a bit emotionally charged, so
> I'll keep those
> to myself here.  8-)

    You've hit one of my major concerns.  I'm very sorry that we are missing
out on thoughts from members of the AS/400 Java team.  I'm even more
concerned that subscribers trying to get answers find their questions turned
into language wars instead of solutions.  And think how statements, *on a
java list*, like "OO is useless" and "Java doesn't work for business" appear
to anyone looking over the list, especially when the sentiment is repeated
ad nauseum.  If there is vast agreement that these are true, then what is
the point of the list?  So far, my solution has been to simply not respond
to those posters, but I'm wondering if it's not about time to find or create
a new list that focuses on solutions, sharing expertise, and community.

    Anyhow, I'd like to hear your thoughts on threads, and the difficulty
and lack of support for them in other languages.  And lots more from the
Java team.


                                                         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: "Fred Kulack" <kulack@xxxxxxxxxx>
To: "Java Programming on and around the iSeries / AS400"
<java400-l@xxxxxxxxxxxx>
Sent: Tuesday, July 06, 2004 12:19 PM
Subject: system-wide JVM (threads) Was: Friendly co-existance


> On 07/05/2004 at 11:23:39 PM, Joe Pluta wrote:
> Blair Wyman and the rest of the folks that built the JVM have done a
> fantastic job.  They've made some design decisions I don't agree with;
> for example, I'd like to be able to start "system-wide" JVMs that I
> could link my job to.  This would not only reduce the startup overhead,
> but would also allow jobs yet one more way to inter-communicate - they
> could share Java objects!  That would be sooooo cool.
> --- end of excerpt ---
>
> Hmmm....
> Indeed, would be pretty cool.
> But, the usual answer for this type of request would be something like
> "use threads", right?
>
> Since logically this is what a threaded application does, using job-wide
> JVM that you
> link your thread to (attach JVM) or create a new thread in, reducing the
> startup overhead of
> a processing unit (the thread), and allow the processing units to
> inter-communicate in new ways.
>
> I have my own knowledge and opinions about why threading is easy/difficult
> and what its
> suited/not-suited for, but this group is a bit emotionally charged, so
> I'll keep those
> to myself here.  8-)
>
> SO...
> In general, what are you opinions on the threads type of answer?
> Too MUCH sharing and too complex of synchronization/coding/debug of those
> items?
> Lack of RPG or Native language support for a good threading model?
> Difficulty linking this model with large amounts of existing job-based
> code?
>
>
> Fred A. Kulack - IBM eServer iSeries - Enterprise Application Solutions
> ERP, Java DB2 access, Jdbc, JTA, etc...
> IBM in Rochester, MN  (Phone: 507.253.5982   T/L 553-5982)
> mailto:kulack/us.ibm.com   Personal: mailto:kulack/magnaspeed.net





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.