|
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-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.