|
Hi
the problem is with activiation group some where in
process RCLRCS and RCLACTGRP is called and then i get
this problem
or else my programs work well
ashish
--- Bill Fly <billfly3@xxxxxxxxxxx> wrote:
> I have a working RPG program which calls a Java
> program. Here are some
> extractions from those programs:
>
> Java program:
> public class SboXmlXlator { // <-- class header
> ...
> public SboXmlXlator() { // constructor
> ...
> public byte[] xml2Fixed(byte[] bobj,
> byte[] bact,
> byte[] breq) { // <--
> one of the called method
> signatures
> ...
>
> RPG IV program:
> d SboXmlXlator c
> 'SboXmlXlator'
>
> d xml s o
> class(*java : SboXmlXlator)
> <-- Java object instantiated by constructor
>
> d constructor pr o
> extproc(*java : SboXmlXlator :
> <-- Java constructor
> d
> *constructor)
>
> d xml2Fixed pr 32767a varying
> <-- prototype for Java method xml2Fixed
> d
> extproc(*java : SboXmlXlator :
> <-- returns a byte array (highly recommended
> d
> 'xml2Fixed')
> d 14a varying
> <-- passes byte arrays (highly recommended
> d 10a varying
> d 32767a varying
> ...
> xml = constructor();
> <-- calls Java constructor, return instantiated
> ...
> Object of type SboXmlXlator
> response = fixed2Xml(xml : object : tag :
> request);
> <-- calls Java method; notice first parameter
>
> <-- is the object returned by the constructor
>
> <-- and not defined in the method prototype.
>
> Byte arrays are highly recommended as they are
> compatible with RPG IV
> varying length strings. I started out calling the
> Java String constructor
> three times to create a Java String object for the
> three input parameters to
> the xml2Fixed method.
> Also, the xml2Fixed method returned a Java String
> object, which I then had
> to call the Static GetBytes method to create
> The RPG string variables. By passing and returning
> the RPG strings as byte
> arrays, I saved four entries into Java. Also, the
> four extra Java objects
> being created were not being garbage collected. The
> byte arrays are not
> garbage collected just fine. This works very well.
> Also, notice the Java
> constructor method must be call first to
> instantiated the Java object of the
> type of the Java class. That object then is passed
> as the initial parameter
> of each method call. Remember in Java, you would
> reference the Java method
> as object.methodname.
>
> These programs are run in batch and do not exit
> until the job is ended. The
> first entry into Java loads the Java Virtual Machine
> which takes a little
> time. As long as the RPG program does not exit
> (with LR on), the JVM should
> stay loaded, along with the called Java object.
>
> Good luck,
> Bill
> -----Original Message-----
> From: Ashish Kulkarni
> [mailto:kulkarni_ash1312@xxxxxxxxx]
> Sent: Monday, January 19, 2004 11:47 AM
> To: Java Programming on and around the iSeries /
> AS400
> Subject: RE: Error while calling java from RPG Java
> exception
> "java.lang.UnknownError:"
>
>
> Hi
> The problem is i cannot ask the end users to signoff
> and signon
> here is my RPG code, what wrong may i be doing
> H thread(*serialize)
> /define OS400_JVM_12
> /Copy JNI
> /Copy Prototype
> d env s *
> D crtPgm pr o extproc(*java:
>
>
> d
> 'com.pfizer.maps.data.PORPGToJava'
> d :*Constructor
> )
>
> d dateFormat o
>
> class(*java:'java.lang.String')
> d const
>
>
> // i call a CL program to set env variable
> c eval env =
> getJniEnv('-Djava.version=1.4;')
> c callp
> beginObjGroup(env:1000)
>
> C eval
> dateFormat=crtString(Datfmt)
> //it fails on this line....
> C eval
> popgm=crtPgm(@dateFormat)
> // othe logic to call methods
> c callp endObjGroup (env)
> C EVAL *INLR = *ON
>
> C RETURN
>
> Ashish
>
>
> --- "Bartell, Aaron L. (TC)"
> <ALBartell@xxxxxxxxxxxxxx> wrote:
> > Did you exit out of the program prematurely while
> in
> > debug or something of
> > that nature? If so then a clearing of your
> > environment is a must to make
> > sure everything is in order, and the easiest and
> > safest way to do so is to
> > sign-off and back on again. You could try and
> > reclaim the activation group,
> > but I don't know if that will take care of the
> Java
> > cleanup and references.
> > . .
> >
> > HTH,
> > Aaron Bartell
> >
> > -----Original Message-----
> > From: java400-l-bounces@xxxxxxxxxxxx
> > [mailto:java400-l-bounces@xxxxxxxxxxxx]On Behalf
> Of
> > Ashish Kulkarni
> > Sent: Monday, January 19, 2004 11:21 AM
> > To: Java Programming on and around the iSeries /
> > AS400
> > Subject: Re: Error while calling java from RPG
> Java
> > exception
> > "java.lang.UnknownError:"
> >
> >
> > Hi
> > Also in my job log i see error message
> > Tried to refer to all or part of an object that no
> > longer exists
> >
> > What should i do
> >
> > Ashish
> > --- Ashish Kulkarni <kulkarni_ash1312@xxxxxxxxx>
> > wrote:
> > > Hi
> > > I am using V5R2 and JDK1.4.1
> > > and calling Java from RPG, and having a weird
> > > problem
> > > Every thing works when i call this RPG program
> > first
> > > time, but when i call the RPG program second
> time
> > i
> > > get
> > > error saying
> > >
> > > Message ID . . . . . . : RNQ0301
> Severity
> > .
> > > .
> > > . . . . . : 99
> > > Message type . . . . . : Inquiry
>
> >
> > >
> > >
> > > Date sent . . . . . . : 01/19/04 Time
> > sent
> > > .
> > > . . . . . : 10:54:23
> > >
>
> >
> > >
> > >
> > > Message . . . . : Java exception received
> when
> > > calling Java method (C G D
> > > F).
>
> >
> > >
> > >
> > > Cause . . . . . : RPG procedure PU610B01 in
> > > program
> > > CXSXA/PU610B received
> > > Java exception "java.lang.UnknownError:" when
> > > calling method "<init>" with
> > > signature "(Ljava.lang.String;)V" in class
>
> >
> > >
> > >
> > > "com.pfizer.maps.data.PORPGToJava".
>
> >
> > >
> > >
> > > Recovery . . . : Contact the person
> > responsible
> > > for program maintenance to
> > > determine the cause of the problem.
>
> >
> > >
> > >
> > > Possible choices for replying to message . . .
> .
> > .
> > > .
> > > . . . . . . . . . :
> > > D -- Obtain RPG formatted dump.
>
> >
> > >
> > >
> > > S -- Obtain system dump.
>
> >
> > >
> > >
> > > G -- Continue processing at *GETIN.
>
> >
> > >
> > >
> > >
> > > __________________________________
> > > Do you Yahoo!?
> > > Yahoo! Hotjobs: Enter the "Signing Bonus"
> > > Sweepstakes
> > >
> http://hotjobs.sweepstakes.yahoo.com/signingbonus
> > > _______________________________________________
> > > This is the Java Programming on and around the
> > > iSeries / AS400 (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.
> > >
> >
> >
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Hotjobs: Enter the "Signing Bonus"
> > Sweepstakes
> > http://hotjobs.sweepstakes.yahoo.com/signingbonus
> > _______________________________________________
> > This is the Java Programming on and around the
> > iSeries / AS400 (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.
> > _______________________________________________
> > This is the Java Programming on and around the
> > iSeries / AS400 (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.
> >
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Hotjobs: Enter the "Signing Bonus"
> Sweepstakes
> http://hotjobs.sweepstakes.yahoo.com/signingbonus
>
>
>
>
> _______________________________________________
> This is the Java Programming on and around the
> iSeries / AS400 (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.
>
__________________________________
Do you Yahoo!?
Yahoo! Hotjobs: Enter the "Signing Bonus" Sweepstakes
http://hotjobs.sweepstakes.yahoo.com/signingbonus
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.