Re: Prevent JVM from starting again and again
Don Brown <[email protected]>
| Newsgroups | gmane.comp.lang.as400.java |
|---|---|
| Message-ID | <OF6A85F7CC.4F802310-ON4A2582FF.002C216F-4A2582FF.002DDCA4@msd.net.au> |
In my case the monitor program is using SK's JDBCR4 to retrieve data from MS SQL Server and then YAJL to create the JSON sting. So the monitor receives the request on the data queue, calls JDBCR4 procedures to run a stored procedure on the MS SQL Server and return the data. So the first call to JDBCR4 starts the JVM. After that the same JVM is used for subsequent calls. This could also be calls to java methods within the program as opposed to the calls to JDBCR4. As the monitor program just receives requests and processes them without ending there is only one JVM started. The result is sent back on a different data queue which is a keyed data queue. So the requester sends the request on the "request" data queue and then waits for the reply on the "response" data queue. I set the amount of time to wait for the response just incase there is an error and I handle this accordingly. If the number of requests grows significantly I can just start a second monitor program and have it processing requests from the same queue. Does that answer your question ? Don Brown From: "Madie" <[email protected]> To: "Java Programming on and around the IBM i" <java400-l-Zwy7GipZuJhWk0Htik3J/[email protected]> Date: 05/09/2018 05:52 AM Subject: Re: Prevent JVM from starting again and again Sent by: "JAVA400-L" <java400-l-bounces-Zwy7GipZuJhWk0Htik3J/[email protected]> I understand most part of what you replied... data queue RPGLE is not an issue for me... Can you elaborate what you mean by " Each request received on the data queue is then using the already established JVM" , how are you achieving it? Are you calling java methods from within the RPGLE or you use some other technique? On Tue, Sep 4, 2018 at 11:26 AM, Don Brown <[email protected]> wrote: > > I had a similar problem where I did not want to start a new JVM for every > request. > > I have now implemented a monitor program, a program that is started and > waits on a data queue for requests. > > This program initially starts a JVM with a dummy call just to initialise > the environment. Each request received on the data queue is then using the > already established JVM. The results are large and in JSON so I am writing > these to a file and passing the completion status back on a different keyed > data queue. > > This is working very, very well. > > Let me know if you need assistance in setting up the data queues but it is > really quite simple. > > Cheers > > Don Brown > > > -- > This is the Java Programming on and around the IBM i (JAVA400-L) mailing > list > To post a message email: JAVA400-L-Zwy7GipZuJhWk0Htik3J/[email protected] > To subscribe, unsubscribe, or change list options, > visit: https://lists.midrange.com/mailman/listinfo/java400-l > or email: JAVA400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected] > Before posting, please take a moment to review the archives > at https://archive.midrange.com/java400-l. > > -- This is the Java Programming on and around the IBM i (JAVA400-L) mailing list To post a message email: JAVA400-L-Zwy7GipZuJhWk0Htik3J/[email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/java400-l or email: JAVA400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/java400-l. ______________________________________________________________________ This email has been scanned by the Symantec Email Security.cloud service. For more information please visit http://www.symanteccloud.com ______________________________________________________________________ -- This is the Java Programming on and around the IBM i (JAVA400-L) mailing list To post a message email: JAVA400-L-Zwy7GipZuJhWk0Htik3J/[email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/java400-l or email: JAVA400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/java400-l.