Fed*_*ico 1 java jvm rpgle ibm-midrange
我有一个调用Java类的RPG PGM,如果Job中没有JVM,RPG运行时会在调用Java类时添加一个.在此之后,来自同一RPG程序的所有调用或同一作业中的另一个RPG程序使用相同的JVM.
问题是,如果我从另一个Job启动相同的PRG程序,它会启动另一个JVM,基本上我有一个JVM for Job.
我想知道是否可以只有一个JVM并从其他Jobs连接到它.
任何帮助将不胜感激.
这就是我试图通过程序整合RPG/JAVA的方法.但由于某种原因,线程没有被解雇.
========
RPG CODE
========
d DSP_class c 'tests.mthreads.RPGProcessDispatcher'
d DSP s o class(*JAVA:DSP_class)
d DSP_new pr o extproc(*JAVA:
d DSP_class:
d *CONSTRUCTOR)
d DSP_dispatch pr n extproc(*JAVA:
d DSP_class:
d 'dispatch')
d dispatcher s like(DSP)
d dispatched s n
d i s 3i 0
/free
dispatcher = DSP_new();
for i=1 by 1 to 2;
dispatched = DSP_dispatch(dispatcher);
endfor;
*inlr=*on;
/end-free
RPGProcessDispatcher
====================
public boolean dispatch() {
if (freeThreads == 0) {
return false;
}
System.out.println("Tread @"+freeThreads);
decThreadsAvailable();
RPGSimpleProcess p = new RPGSimpleProcess();
p.registerRunCompleted(this);
Thread t = new Thread(p);
t.start();
return true;
}
RPGSimpleProcess
================
@Override
public void run() {
try {
Thread.sleep(100000);
notifyEnd();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
432 次 |
最近记录: |