Thanks for your answer...  

Its weird...

If I do a simple hello world, and run it... It's fine...  

But when I add those system properties, I get a pase class error, when I do
a -verbose , and I get a java return code of 1.

No dump or exception is thrown...

Maybe I don't have a current enough ptf...  

Thanks, Tim

 

-----Original Message-----
From: web400-bounces+thatzenbeler=clinitech.net@xxxxxxxxxxxx
[mailto:web400-bounces+thatzenbeler=clinitech.net@xxxxxxxxxxxx] On Behalf Of
Pete Helgren
Sent: Wednesday, February 08, 2006 8:19 AM
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] Java Error was Tomcat java properties question

Let me scroll back a bit.

There are some Java programs that require the use of a graphics engine in
order to render the graphic components.  For example, we use Jasper Reports
to generate PDF reports and iChart to generate charts on the iSeries using
Java (mostly java servlets).

The first time we used Jasper, we got the error message about the need to
have java.awt.headless=true in the properties file.  Installing PASE and
then setting these values in the
'/QIBM/UserData/Java400/SystemDefault.properties' file is what took care of
the error for us.  As I mentioned both in the post from last year and the
latest post, I am not sure what it took to make the system finally read the
file.  I suspect that it was because we had an instance of Java running
somewhere (either a Tomcat app or some other Java app). Once we ended the
java app the next instantiation must have used the new settings because the
error went away.

When we install the applications at our customers site, we make sure that
PASE is installed and the properties file configured before we fire up a
Java app and I haven't had the experience of it NOT working since our own
first experience.

We start nothing in PASE.  We submit no jobs or use any shell.  The ONLY
shell command we use is to start Tomcat.  So, no, I don't think it is
necessary to call any programs or run any shell commands in order for your
java program to render graphics using AWT "headless".  Again, we make sure
PASE is installed and we make sure the SystemDefault.properties file is set,
and it has worked for us.
The entire file contents are as follows:

java.home=/QIBM/ProdData/Java400/jdk14/ 
java.version=1.4                        
os400.awt.native=true                   
java.awt.headless=true                  
user.timezone=America/Denver            

Of course this would mean that you have the jdk 1.4 version installed on
your iSEries (licensed program 5722JV1 6  Java Developer Kit 1.4).

If all of that is true for you, then I am as stumped as you.  You could
check it after your next IPL or you could try calling IBM and see if they
have suggestions.

Pete

P.S.  If you actually *wanted* VNC running, you'd need to have 5722PTL
installed and use the directions found at this link:

http://www-03.ibm.com/servers/enable/site/porting/tools/vnc.html but again,
there is no need to have it running in order to run Java programs using AWT
in headless mode.




Hatzenbeler, Tim wrote:

>To make this work do I need to run this first?
>
>CALL PGM(QSYS/QP2SHELL)
>PARM('/QOpenSys/QIBM/ProdData/DeveloperTools/vnc/vncserver_java' ':1')
>
>
>I'm not running NAWT...  Should this be running when I set the headless 
>value to true?
>
>Thanks, Tim
> 
>
>-----Original Message-----
>From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx] 
>On Behalf Of Pete Helgren
>Sent: Monday, February 06, 2006 1:16 PM
>To: Web Enabling the AS400 / iSeries
>Subject: Re: [WEB400] Java Error was Tomcat java properties question
>
>We start Tomcat from a CL that calls the Qshell commands so, no, it 
>isn't necessary to be running it interactively from the shell in order 
>for this to work.
>
>This is ringing a bell in my head because I *know* we had this problem 
>before and resolved it.  This entry is in the archives:
>
>http://archive.midrange.com/java400-l/200501/msg00051.html
>
>The only other thing I saw in the thread was that the
>
>java.home=/QIBM/ProdData/Java400/jdk14/
>java.version=1.4
>
>was needed.  What version of the JVM are you running?
>
>Pete
>
>
>Hatzenbeler, Tim wrote:
>
>  
>
>>I do have that installed...  Do I have to be in a qp2term session when 
>>I start tomcat?  Or will the jvm automagically tap in to pase?
>>
>>Thanks, Tim
>>
>>-----Original Message-----
>>From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
>>On Behalf Of Pete Helgren
>>Sent: Monday, February 06, 2006 12:36 PM
>>To: Web Enabling the AS400 / iSeries
>>Subject: Re: [WEB400] Java Error was Tomcat java properties question
>>
>>Tim,
>>
>>Sorry if I asked this or you mentioned this before:
>>
>>Do you have PASE installed? ("OS/400 - Portable App Solutions 
>>Environment" licensed program 5722SS1    Option 33)
>>
>>You will need to have it installed for the graphics engine referred to 
>>by AWT.
>>
>>Make sure that all JVM instances aren't running.  I remember that at 
>>first I couldn't get it to work.  Can't remember what, exactly, it 
>>took after PASE was installed but I think Tomcat had to be restarted 
>>and any JVM instances ended before it started to work.
>>
>>Pete
>>
>>
>>Hatzenbeler, Tim wrote:
>>
>> 
>>
>>    
>>
>>>I changed my config, to only have those 2 lines...
>>>
>>>And I'm still getting this error...
>>>
>>>AWT class or API used without specifying property 
>>>os400.awt.native=true or java.awt.headless=true
>>>
>>>Is there a quick way, in a jsp, to pull these properties values, and 
>>>show them on the screen,to see what there set to?  Mayby tomcat, is 
>>>overriding the values..
>>>
>>>Thanks, Tim
>>>
>>>
>>>-----Original Message-----
>>>From: web400-bounces@xxxxxxxxxxxx 
>>>[mailto:web400-bounces@xxxxxxxxxxxx]
>>>On Behalf Of Pete Helgren
>>>Sent: Friday, February 03, 2006 8:48 PM
>>>To: Web Enabling the AS400 / iSeries
>>>Subject: Re: [WEB400] Java Error was Tomcat java properties question
>>>
>>>Skip the java.home and java.version stuff, we use that to point to a 
>>>specific JVM
>>>
>>>Use only :
>>>
>>>os400.awt.native=true                 
>>>java.awt.headless=true
>>>
>>>
>>>and see what happens.
>>>
>>>Pete
>>>
>>>Hatzenbeler, Tim wrote:
>>>
>>>
>>>
>>>   
>>>
>>>      
>>>
>>>>This is in our file:
>>>>
>>>>java.home=/QIBM/ProdData/Java400/jdk14/
>>>>java.version=1.4                      
>>>>os400.awt.native=true                 
>>>>java.awt.headless=true                
>>>>------------------------------------
>>>>
>>>>I'm running 5.2
>>>>
>>>>
>>>>If I use those settings, tomcat doesn't want to work...
>>>>
>>>>I removed them, and placed them in the catalina.sh, and I got the 
>>>>same error...
>>>>
>>>>"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
>>>>   -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
>>>>   -Dcatalina.base="$CATALINA_BASE" \
>>>>   -Dcatalina.home="$CATALINA_HOME" \
>>>>--->  -Djava.awt.headless=true \
>>>>   -Djava.io.tmpdir="$CATALINA_TMPDIR" \
>>>>   org.apache.catalina.startup.Bootstrap "$@" start \
>>>>   >> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
>>>>
>>>>   if [ ! -z "$CATALINA_PID" ]; then
>>>>     echo $! > $CATALINA_PID
>>>>   fi      
>>>>
>>>>
>>>>40   02/03/06  15:34:59.128760  realcftrap2              0018F8
QJVAJNI
>>>>QSYS        *STMT
>>>> To module . . . . . . . . . :   QJVAJNI
>>>>
>>>> To procedure  . . . . . . . :   JNI_CreateJavaVM
>>>>
>>>> Statement . . . . . . . . . :   5529
>>>>
>>>> Message . . . . :   The Java Virtual Machine has ended.
>>>>
>>>> Cause . . . . . :   Java Virtual Machine 1 has ended because of reason
>>>>4.  The               
>>>>   reason codes are defined as follows: 01- A Java program called 
>>>>the
>>>>
>>>>   java.lang.System.exit method with a zero status code. 02- A Java
>>>>program                   
>>>>   called the java.lang.System.exit method with a non zero status 
>>>>code
>>>>  
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>of
>>>
>>>
>>>   
>>>
>>>      
>>>
>>>>0.                  
>>>>   03- An unexpected system error was detected. 04- A critical Java
>>>>Virtual                   
>>>>   Machine thread has ended and processing cannot continue. Recovery  .
>>>>  
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>.
>>>
>>>
>>>   
>>>
>>>      
>>>
>>>>. :                 
>>>>   If the Java Virtual Machine ended because of reason code 03, an
>>>>internal                   
>>>>   error has occurred.  Contact you service representative.  Information
>>>>about                
>>>>   the error was saved in the Licensed Internal Code log.
>>>>
>>>>40   02/03/06  15:34:59.254304  QJVAUTLJVM   QSYS        *STMT
QJVAJVM
>>>>QSYS        *STMT
>>>> From module . . . . . . . . :   QJVAUTLJVM
>>>>
>>>> From procedure  . . . . . . :   JvaSendMsg
>>>>
>>>>
>>>>Do I need to launch tomcat through the pase enviornment?  Or just 
>>>>the standard strqsh?
>>>>
>>>>I'm struggling here...
>>>>
>>>>Thanks, Tim
>>>>
>>>>-----Original Message-----
>>>>From: web400-bounces@xxxxxxxxxxxx
>>>>[mailto:web400-bounces@xxxxxxxxxxxx]
>>>>On Behalf Of Pete Helgren
>>>>Sent: Friday, February 03, 2006 1:41 PM
>>>>To: Web Enabling the AS400 / iSeries
>>>>Subject: Re: [WEB400] Tomcat java properties question
>>>>
>>>>You don't set it for an app, you just set the general property in 
>>>>the /QIBM/UserData/Java400/SystemDefault.properties file
>>>>
>>>>This is in our file:
>>>>
>>>>java.home=/QIBM/ProdData/Java400/jdk14/
>>>>java.version=1.4                      
>>>>os400.awt.native=true                 
>>>>java.awt.headless=true                
>>>>
>>>>HTH
>>>>
>>>>Pete Helgren
>>>>
>>>>
>>>>Hatzenbeler, Tim wrote:
>>>>
>>>>
>>>>
>>>>  
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>>>I have a webapp, that is giving me this error message...
>>>>>
>>>>>AWT class or API used without specifying property 
>>>>>os400.awt.native=true or java.awt.headless=true
>>>>>
>>>>>How would I set the headless = true, for an app in tomcat? 
>>>>>
>>>>>Thanks, Tim
>>>>>
>>>>>
>>>>> 
>>>>>
>>>>>    
>>>>>
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>--
>>>>This is the Web Enabling the AS400 / iSeries (WEB400) mailing list 
>>>>To post a message email: WEB400@xxxxxxxxxxxx To subscribe, 
>>>>unsubscribe, or change list options,
>>>>visit: http://lists.midrange.com/mailman/listinfo/web400
>>>>or email: WEB400-request@xxxxxxxxxxxx Before posting, please take a 
>>>>moment to review the archives at http://archive.midrange.com/web400.
>>>>
>>>>
>>>>
>>>>  
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>--
>>>This is the Web Enabling the AS400 / iSeries (WEB400) mailing list To 
>>>post
>>>   
>>>
>>>      
>>>
>>a
>> 
>>
>>    
>>
>>>message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or 
>>>change
>>>   
>>>
>>>      
>>>
>>list
>> 
>>
>>    
>>
>>>options,
>>>visit: http://lists.midrange.com/mailman/listinfo/web400
>>>or email: WEB400-request@xxxxxxxxxxxx Before posting, please take a 
>>>moment to review the archives at http://archive.midrange.com/web400.
>>>
>>>
>>>
>>>   
>>>
>>>      
>>>
>--
>This is the Web Enabling the AS400 / iSeries (WEB400) mailing list To 
>post a message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or 
>change list options,
>visit: http://lists.midrange.com/mailman/listinfo/web400
>or email: WEB400-request@xxxxxxxxxxxx
>Before posting, please take a moment to review the archives at 
>http://archive.midrange.com/web400.
>
>  
>
--
This is the Web Enabling the AS400 / iSeries (WEB400) mailing list To post a
message email: WEB400@xxxxxxxxxxxx To subscribe, unsubscribe, or change list
options,
visit: http://lists.midrange.com/mailman/listinfo/web400
or email: WEB400-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/web400.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.