|
Hi,
are you using some like this ?
// Process the data queue - never ending
String line = "";
for ( ;; ) {
try {
line = dtaq.read( -1 ).getString( );
......
If yes I cannot give you others suggesions...
Ciao.
On Tue, 13 Apr 2004 13:26:03 -0600, Tim Gosnell wrote:
>Franco,
>I looked into the PTF, and found that according to IBM
>(http://www-1.ibm.com/servers/eserver/iseries/toolbox/faq.htm#faqX) with
>v5r1 the PTF is not needed. We're running v5r1.
>Any other suggestions?
>Tim
>-----Original Message-----
>From: java400-l-bounces@xxxxxxxxxxxx
>[mailto:java400-l-bounces@xxxxxxxxxxxx]On Behalf Of Franco Biaggi
>Sent: Tuesday, April 13, 2004 11:12 AM
>To: Java Programming on and around the iSeries / AS400
>Subject: Re: Data Queue Performance
>Hi,
>the 2 seconds delay was fixed by a PTF, do not remember the number...
>On Tue, 13 Apr 2004 10:49:44 -0600, Tim Gosnell wrote:
>>I have a test set up where a client application writes to a data queue
>>(inQueue) and reads from another one (outQueue). I have written server
>>applications in both Java and Cobol (included).
>>I have the java client reporting the difference between
>>System.currentTimeMillis(); at the start and at the end of each
>>transactions. I expect some variance in elapsed time reported. The issue
>>here is that the variance in elapsed time is wide. I get millisecond
>>reports varying from less than one millisecond all the way up the low 2000
>>millisecond range.
>>Why would/how could the elapsed times for the transaction vary so much?
>>These programs caps the number of transactions at 1000. The connections
>are
>>closed from the client. The data being written and read in each case does
>>not change.
>>Need help...
>>Cobol Code:
>> ID DIVISION.
>> PROGRAM-ID. TESTDQ.
>> ENVIRONMENT DIVISION.
>> CONFIGURATION SECTION.
>> SOURCE-COMPUTER. IBM-AS400.
>> OBJECT-COMPUTER. IBM-AS400.
>> DATA DIVISION.
>> FILE SECTION.
>> WORKING-STORAGE SECTION.
>> * COPY QUSEC OF QSYSINC-QLIBSRC.
>> * COPY QCAPCMD OF QSYSINC-QLIBSRC.
>> 01 IN-QUEUE-NAME PIC X(10) VALUE "TESTINDQ".
>> 01 QUEUE-LIB-NAME PIC X(10) VALUE "FOO".
>> 01 OUT-QUEUE-NAME PIC X(10) VALUE "TESTOUTDQ".
>> 01 WAIT-TIME PIC S9(05) VALUE -1 PACKED-DECIMAL.
>> 01 MSG-SIZE PIC S9(05) VALUE 50 PACKED-DECIMAL.
>> 01 REQUEST PIC X(50).
>> 01 RESPONSE PIC X(50) VALUE "This is the response".
>> 01 INCREMENT PIC S9(01) VALUE 1 PACKED-DECIMAL.
>> 01 REQUEST-NUM PIC S9(05) VALUE 1 PACKED-DECIMAL.
>> 01 START-TIME PIC S9(05).
>> 01 END-TIME PIC S9(05).
>> PROCEDURE DIVISION.
>> MAIN.
>> CALL "QRCVDTAQ" USING IN-QUEUE-NAME, QUEUE-LIB-NAME,
>> MSG-SIZE, REQUEST, WAIT-TIME.
>> CALL "QSNDDTAQ" USING OUT-QUEUE-NAME, QUEUE-LIB-NAME,
>> MSG-SIZE, RESPONSE.
>> ADD INCREMENT TO REQUEST-NUM.
>> IF REQUEST-NUM = 1000 STOP RUN.
>> PERFORM MAIN.
>>Test Client Application Code:
>>package com.critrade.sandbox;
>>import java.sql.CallableStatement;
>>import java.sql.Connection;
>>import java.sql.Driver;
>>import java.sql.DriverManager;
>>import java.util.Properties;
>>import junit.framework.TestCase;
>>import com.ibm.as400.access.AS400;
>>import com.ibm.as400.access.DataQueue;
>>import com.ibm.as400.access.DataQueueAttributes;
>>import com.ibm.as400.access.DataQueueEntry;
>>import com.ibm.as400.access.QSYSObjectPathName;
>>/**
>> * @author TimG
>> *
>> */
>>public class TestDTAQClient extends TestCase
>>{
>> static final int WAIT_TIME = -1;
>> DataQueue inQueue = null;
>> DataQueue outQueue = null;
>> AS400 host = null;
>> QSYSObjectPathName inQueuePath = null;
>> QSYSObjectPathName outQueuePath = null;
>> Connection con = null;
>> CallableStatement cs = null;
>>
>> String entry = "new test entry - new test entry - new test entry";
>>
>> public TestDTAQClient(String myName)
>> {
>> super(myName);
>> }
>> public static void main(String[] args)
>> {
>> junit.textui.TestRunner.run(new TestDTAQClient("testTransaction"));
>> }
>> protected void setUp() throws Exception
>> {
>> System.out.println("Establishing Database Connection");
>> host = new AS400("128.128.2.220", "foo", "bar");
>> DataQueueAttributes dtaqAttrib = new DataQueueAttributes();
>> try
>> {
>> inQueuePath = new QSYSObjectPathName("foo",
>>"testindq", "dtaq");
>>
>> inQueue = new DataQueue(host,
>>inQueuePath.getPath());
>> if(!inQueue.exists())
>> inQueue.create(dtaqAttrib);
>> }
>> catch (Exception e)
>> {
>> e.printStackTrace();
>> }
>> try
>> {
>> outQueuePath =
>> new QSYSObjectPathName("foo", "testoutdq", "dtaq");
>> outQueue = new DataQueue(host, outQueuePath.getPath());
>> if(!outQueue.exists())
>> outQueue.create(dtaqAttrib);
>> }
>> catch(Exception e)
>> {
>> e.printStackTrace();
>> }
>> }
>> protected void tearDown()
>> {
>> try
>> {
>> if(con!=null){con.close();}
>> }
>> catch (Exception ex)
>> {
>> System.out.println(ex.getMessage());
>> }
>> }
>>
>> public void testInQueueWrite()
>> {
>> try
>> {
>> inQueue.write(entry);
>> }
>> catch (Exception e)
>> {
>> e.printStackTrace();
>> }
>> }
>>
>> public void testOutQueueRead()
>> {
>> try
>> {
>> DataQueueEntry entry = outQueue.read(WAIT_TIME);
>> }
>> catch (Exception e)
>> {
>> e.printStackTrace();
>> }
>> }
>>
>> public void testTransaction()
>> {
>>
>> for(int i = 0; i < 1000; i++)
>> {
>>
>> long start = System.currentTimeMillis();
>> testInQueueWrite();
>> testOutQueueRead();
>> long end = System.currentTimeMillis();
>> System.out.println("" + (end - start));
>> }
>> }
>>}
>>---
>>Outgoing mail is certified Virus Free.
>>Checked by AVG anti-virus system (http://www.grisoft.com).
>>Version: 6.0.642 / Virus Database: 410 - Release Date: 3/24/2004
>>
>----------------------------------------------------------------------------
>-
>*** This messages was scanned for malicious contents ***
>----------------------------------------------------------------------------
>-
>Franco Biaggi
>CH-6807 Taverne
>_______________________________________________
>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.
>---
>Incoming mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.642 / Virus Database: 410 - Release Date: 3/24/2004
>---
>Outgoing mail is certified Virus Free.
>Checked by AVG anti-virus system (http://www.grisoft.com).
>Version: 6.0.642 / Virus Database: 410 - Release Date: 3/24/2004
>_______________________________________________
>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 messages was scanned for malicious contents ***
-----------------------------------------------------------------------------
Franco Biaggi
CH-6807 Taverne
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.