|
From: Peter W. <pw...@bl...> - 2006-11-02 11:23:20
|
Steve, Thank you for your response. I understand that the log message does not necessarily mean a problem. The problem is that the acceptor is replying = to the Logon message with a Logout (35=3D5) so we can never get a = conversation started. The initiator is an established FIX engine (quickfix C version) already successfully talking with other institutions. So using Banzai wont help. Thanks, Peter Warder London I've posted the event log below: 20061101-15:26:03: Session FIX.4.3:SFCTRADE_TEST->APC_TEST schedule is weekly, SUN 19:00:00 UTC - SAT 18:00:00 UTC 20061101-15:26:03: Session state is not current; resetting FIX.4.3:SFCTRADE_TEST->APC_TEST 20061101-15:26:03: No responder, not sending message 20061101-15:26:03: Valid order types: [1] 20061101-15:26:03: Created session: FIX.4.3:SFCTRADE_TEST->APC_TEST 20061101-15:26:42: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4847 20061101-15:26:42: Acceptor heartbeat set to 30 seconds 20061101-15:26:42: Disconnecting 20061101-15:27:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4848 20061101-15:27:43: Acceptor heartbeat set to 30 seconds 20061101-15:27:43: Disconnecting 20061101-15:28:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4849 20061101-15:28:43: Acceptor heartbeat set to 30 seconds 20061101-15:28:43: Disconnecting 20061101-15:29:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4850 20061101-15:29:43: Acceptor heartbeat set to 30 seconds 20061101-15:29:43: Disconnecting And the message log: 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D17=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:26:43.135=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D207=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:26:42.750=0156=3DAPC_TE ST=0110=3D051=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D19=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:27:43.438=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D216=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:27:43.000=0156=3DAPC_TE ST=0110=3D041=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D21=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:28:43.691=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D211=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:28:43.250=0156=3DAPC_TE ST=0110=3D049=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D23=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:29:43.933=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D213=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:29:43.484=0156=3DAPC_TE ST=0110=3D059=01 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of qui...@li... Sent: 01 November 2006 22:31 To: qui...@li... Subject: Quickfixj-users Digest, Vol 6, Issue 1 Send Quickfixj-users mailing list submissions to qui...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/quickfixj-users or, via email, send a message with subject or body 'help' to qui...@li... You can reach the person managing the list at qui...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Quickfixj-users digest..." Today's Topics: 1. Session is not current (Peter Warder) 2. Re: Session is not current (st...@te...) ---------------------------------------------------------------------- Message: 1 Date: Wed, 1 Nov 2006 16:15:07 -0000 From: "Peter Warder" <pw...@bl...> Subject: [Quickfixj-users] Session is not current To: <qui...@li...> Message-ID: <000001c6fdd0$e717a830$0300a8c0@HAL> Content-Type: text/plain; charset=3D"us-ascii" Hi, I'm a Java rookie and a quickfixj rookie but in other respects a very experienced developer. I'm trying to get a quickfixj acceptor running (based on the executor example) and have made decent progress. I am receiving what look like perfectly good Logon messages from an initiator but their authentication fails on my side so a Logout message = is returned to the initiator. The failure seems to be to do with a message = that the 'session is not current'. I don't know what this means nor how to = fix it. Any ideas?? (logs attached) Peter Warder London -------------- next part -------------- A non-text attachment was scrubbed... Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.messages.log Type: application/octet-stream Size: 772 bytes Desc: not available Url : http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/atta= chmen ts/20061101/14f2b7d0/attachment.obj=20 -------------- next part -------------- A non-text attachment was scrubbed... Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.event.log Type: application/octet-stream Size: 1105 bytes Desc: not available Url : http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/atta= chmen ts/20061101/14f2b7d0/attachment-0001.obj=20 ------------------------------ Message: 2 Date: Wed, 1 Nov 2006 11:42:09 -0500 (EST) From: st...@te... Subject: Re: [Quickfixj-users] Session is not current To: pe...@ss..., qui...@li... Message-ID: <106...@we...> Content-Type: text/plain;charset=3Diso-8859-1 That log message doesn't necessarily indicate a problem. It's telling = you that you have begun a new session (based on your session start/end schedule) and it's going to reset the message store and sequence = numbers. This may or may not be a problem depending on the context. It appears you are using the example order executor for your test. Have you tried running Banzai as a client to the executor with the configuration changed slightly for your scenario? Steve > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi, > > I'm a Java rookie and a quickfixj rookie but in other respects a very > experienced developer. > I'm trying to get a quickfixj acceptor running (based on the executor > example) and have made decent progress. > I am receiving what look like perfectly good Logon messages from an > initiator but their authentication fails on my side so a Logout = message is > returned to the initiator. The failure seems to be to do with a = message > that > the 'session is not current'. I don't know what this means nor how to = fix > it. > Any ideas?? (logs attached) > > Peter Warder > London > = -------------------------------------------------------------------------= > Using Tomcat but need to do more? Need to support web services, = security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642____ ___________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > ------------------------------ -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 ------------------------------ _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users End of Quickfixj-users Digest, Vol 6, Issue 1 ********************************************* |
|
From: Peter W. <pw...@bl...> - 2006-11-03 11:51:21
|
Hi Matyas, Thank you for that thought. I have tried hard to synchronize the = computer clocks but maybe not successfully. I'll look at the initiator logs and compare times. Does the event log entry 'No responder, not sending = message' Mean anything to anyone? Thanks again to Steve and Matyas for your help. Peter Warder=20 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of qui...@li... Sent: 02 November 2006 20:30 To: qui...@li... Subject: Quickfixj-users Digest, Vol 6, Issue 2 Send Quickfixj-users mailing list submissions to qui...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/quickfixj-users or, via email, send a message with subject or body 'help' to qui...@li... You can reach the person managing the list at qui...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Quickfixj-users digest..." Today's Topics: 1. Re: Session is not current (Peter Warder) 2. Re: Session is not current (Matyas Barakonyi) ---------------------------------------------------------------------- Message: 1 Date: Thu, 2 Nov 2006 11:23:03 -0000 From: "Peter Warder" <pw...@bl...> Subject: Re: [Quickfixj-users] Session is not current To: <qui...@li...> Message-ID: <000001c6fe71$46471160$0300a8c0@HAL> Content-Type: text/plain; charset=3D"us-ascii" Steve, Thank you for your response. I understand that the log message does not necessarily mean a problem. The problem is that the acceptor is replying = to the Logon message with a Logout (35=3D5) so we can never get a = conversation started. The initiator is an established FIX engine (quickfix C version) already successfully talking with other institutions. So using Banzai wont help. Thanks, Peter Warder London I've posted the event log below: 20061101-15:26:03: Session FIX.4.3:SFCTRADE_TEST->APC_TEST schedule is weekly, SUN 19:00:00 UTC - SAT 18:00:00 UTC 20061101-15:26:03: Session state is not current; resetting FIX.4.3:SFCTRADE_TEST->APC_TEST 20061101-15:26:03: No responder, not sending message 20061101-15:26:03: Valid order types: [1] 20061101-15:26:03: Created session: FIX.4.3:SFCTRADE_TEST->APC_TEST 20061101-15:26:42: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4847 20061101-15:26:42: Acceptor heartbeat set to 30 seconds 20061101-15:26:42: Disconnecting 20061101-15:27:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4848 20061101-15:27:43: Acceptor heartbeat set to 30 seconds 20061101-15:27:43: Disconnecting 20061101-15:28:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4849 20061101-15:28:43: Acceptor heartbeat set to 30 seconds 20061101-15:28:43: Disconnecting 20061101-15:29:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4850 20061101-15:29:43: Acceptor heartbeat set to 30 seconds 20061101-15:29:43: Disconnecting And the message log: 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D17=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:26:43.135=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D207=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:26:42.750=0156=3DAPC_TE ST=0110=3D051=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D19=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:27:43.438=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D216=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:27:43.000=0156=3DAPC_TE ST=0110=3D041=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D21=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:28:43.691=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D211=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:28:43.250=0156=3DAPC_TE ST=0110=3D049=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D23=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:29:43.933=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D213=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:29:43.484=0156=3DAPC_TE ST=0110=3D059=01 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of qui...@li... Sent: 01 November 2006 22:31 To: qui...@li... Subject: Quickfixj-users Digest, Vol 6, Issue 1 Send Quickfixj-users mailing list submissions to qui...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/quickfixj-users or, via email, send a message with subject or body 'help' to qui...@li... You can reach the person managing the list at qui...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Quickfixj-users digest..." Today's Topics: 1. Session is not current (Peter Warder) 2. Re: Session is not current (st...@te...) ---------------------------------------------------------------------- Message: 1 Date: Wed, 1 Nov 2006 16:15:07 -0000 From: "Peter Warder" <pw...@bl...> Subject: [Quickfixj-users] Session is not current To: <qui...@li...> Message-ID: <000001c6fdd0$e717a830$0300a8c0@HAL> Content-Type: text/plain; charset=3D"us-ascii" Hi, I'm a Java rookie and a quickfixj rookie but in other respects a very experienced developer. I'm trying to get a quickfixj acceptor running (based on the executor example) and have made decent progress. I am receiving what look like perfectly good Logon messages from an initiator but their authentication fails on my side so a Logout message = is returned to the initiator. The failure seems to be to do with a message = that the 'session is not current'. I don't know what this means nor how to = fix it. Any ideas?? (logs attached) Peter Warder London -------------- next part -------------- A non-text attachment was scrubbed... Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.messages.log Type: application/octet-stream Size: 772 bytes Desc: not available Url : http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/atta= chmen ts/20061101/14f2b7d0/attachment.obj=20 -------------- next part -------------- A non-text attachment was scrubbed... Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.event.log Type: application/octet-stream Size: 1105 bytes Desc: not available Url : http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/atta= chmen ts/20061101/14f2b7d0/attachment-0001.obj=20 ------------------------------ Message: 2 Date: Wed, 1 Nov 2006 11:42:09 -0500 (EST) From: st...@te... Subject: Re: [Quickfixj-users] Session is not current To: pe...@ss..., qui...@li... Message-ID: <106...@we...> Content-Type: text/plain;charset=3Diso-8859-1 That log message doesn't necessarily indicate a problem. It's telling = you that you have begun a new session (based on your session start/end schedule) and it's going to reset the message store and sequence = numbers. This may or may not be a problem depending on the context. It appears you are using the example order executor for your test. Have you tried running Banzai as a client to the executor with the configuration changed slightly for your scenario? Steve > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi, > > I'm a Java rookie and a quickfixj rookie but in other respects a very > experienced developer. > I'm trying to get a quickfixj acceptor running (based on the executor > example) and have made decent progress. > I am receiving what look like perfectly good Logon messages from an > initiator but their authentication fails on my side so a Logout = message is > returned to the initiator. The failure seems to be to do with a = message > that > the 'session is not current'. I don't know what this means nor how to = fix > it. > Any ideas?? (logs attached) > > Peter Warder > London > = -------------------------------------------------------------------------= > Using Tomcat but need to do more? Need to support web services, = security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642____ ___________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > ------------------------------ -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 ------------------------------ _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users End of Quickfixj-users Digest, Vol 6, Issue 1 ********************************************* ------------------------------ Message: 2 Date: Thu, 02 Nov 2006 12:50:48 +0100 From: Matyas Barakonyi <ma...@ba...> Subject: Re: [Quickfixj-users] Session is not current To: pe...@ss..., qui...@li... Message-ID: <454...@ba...> Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Hi! I had a similar problem few mounths ago... The session could not be=20 established. It was a time sinchronization problem between the 2 computers. It was=20 only a 0.5 min, but the accptor can't process the msg of the = initiator... I'm wondering if this couldn't be a problem in your case... Regards, Matyas >QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >QuickFIX/J Support: http://www.quickfixj.org/support/ >Steve, > >Thank you for your response. I understand that the log message does not >necessarily mean a problem. The problem is that the acceptor is = replying to >the Logon message with a Logout (35=3D5) so we can never get a = conversation >started. > >The initiator is an established FIX engine (quickfix C version) already >successfully talking with other institutions. So using Banzai wont = help. > >Thanks, >Peter Warder >London > >I've posted the event log below: > >20061101-15:26:03: Session FIX.4.3:SFCTRADE_TEST->APC_TEST schedule is >weekly, SUN 19:00:00 UTC - SAT 18:00:00 UTC >20061101-15:26:03: Session state is not current; resetting >FIX.4.3:SFCTRADE_TEST->APC_TEST >20061101-15:26:03: No responder, not sending message >20061101-15:26:03: Valid order types: [1] >20061101-15:26:03: Created session: FIX.4.3:SFCTRADE_TEST->APC_TEST >20061101-15:26:42: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4847 >20061101-15:26:42: Acceptor heartbeat set to 30 seconds >20061101-15:26:42: Disconnecting >20061101-15:27:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4848 >20061101-15:27:43: Acceptor heartbeat set to 30 seconds >20061101-15:27:43: Disconnecting >20061101-15:28:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4849 >20061101-15:28:43: Acceptor heartbeat set to 30 seconds >20061101-15:28:43: Disconnecting >20061101-15:29:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4850 >20061101-15:29:43: Acceptor heartbeat set to 30 seconds >20061101-15:29:43: Disconnecting > >And the message log: >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D17=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:26:43.135=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D207=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:26:42.750=0156=3DAPC_T E >ST=0110=3D051=01 >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D19=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:27:43.438=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D216=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:27:43.000=0156=3DAPC_T E >ST=0110=3D041=01 >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D21=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:28:43.691=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D211=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:28:43.250=0156=3DAPC_T E >ST=0110=3D049=01 >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D23=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:29:43.933=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D213=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:29:43.484=0156=3DAPC_T E >ST=0110=3D059=01 > > >-----Original Message----- >From: qui...@li... >[mailto:qui...@li...] On Behalf Of >qui...@li... >Sent: 01 November 2006 22:31 >To: qui...@li... >Subject: Quickfixj-users Digest, Vol 6, Issue 1 > >Send Quickfixj-users mailing list submissions to > qui...@li... > >To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/quickfixj-users >or, via email, send a message with subject or body 'help' to > qui...@li... > >You can reach the person managing the list at > qui...@li... > >When replying, please edit your Subject line so it is more specific >than "Re: Contents of Quickfixj-users digest..." > > >Today's Topics: > > 1. Session is not current (Peter Warder) > 2. Re: Session is not current (st...@te...) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Wed, 1 Nov 2006 16:15:07 -0000 >From: "Peter Warder" <pw...@bl...> >Subject: [Quickfixj-users] Session is not current >To: <qui...@li...> >Message-ID: <000001c6fdd0$e717a830$0300a8c0@HAL> >Content-Type: text/plain; charset=3D"us-ascii" > >Hi, > >I'm a Java rookie and a quickfixj rookie but in other respects a very >experienced developer. >I'm trying to get a quickfixj acceptor running (based on the executor >example) and have made decent progress. >I am receiving what look like perfectly good Logon messages from an >initiator but their authentication fails on my side so a Logout message = is >returned to the initiator. The failure seems to be to do with a message that >the 'session is not current'. I don't know what this means nor how to = fix >it. >Any ideas?? (logs attached) > >Peter Warder >London >-------------- next part -------------- >A non-text attachment was scrubbed... >Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.messages.log >Type: application/octet-stream >Size: 772 bytes >Desc: not available >Url : >http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/att= achme n >ts/20061101/14f2b7d0/attachment.obj=20 >-------------- next part -------------- >A non-text attachment was scrubbed... >Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.event.log >Type: application/octet-stream >Size: 1105 bytes >Desc: not available >Url : >http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/att= achme n >ts/20061101/14f2b7d0/attachment-0001.obj=20 > >------------------------------ > >Message: 2 >Date: Wed, 1 Nov 2006 11:42:09 -0500 (EST) >From: st...@te... >Subject: Re: [Quickfixj-users] Session is not current >To: pe...@ss..., qui...@li... >Message-ID: > <106...@we...> >Content-Type: text/plain;charset=3Diso-8859-1 > >That log message doesn't necessarily indicate a problem. It's telling = you >that you have begun a new session (based on your session start/end >schedule) and it's going to reset the message store and sequence = numbers. >This may or may not be a problem depending on the context. > >It appears you are using the example order executor for your test. Have >you tried running Banzai as a client to the executor with the >configuration changed slightly for your scenario? > >Steve > > =20 > >>QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>QuickFIX/J Support: http://www.quickfixj.org/support/ >>Hi, >> >>I'm a Java rookie and a quickfixj rookie but in other respects a very >>experienced developer. >>I'm trying to get a quickfixj acceptor running (based on the executor >>example) and have made decent progress. >>I am receiving what look like perfectly good Logon messages from an >>initiator but their authentication fails on my side so a Logout = message is >>returned to the initiator. The failure seems to be to do with a = message >>that >>the 'session is not current'. I don't know what this means nor how to = fix >>it. >>Any ideas?? (logs attached) >> >>Peter Warder >>London >>-----------------------------------------------------------------------= -- >>Using Tomcat but need to do more? Need to support web services, = security? >>Get stuff done quickly with pre-integrated technology to make your job >>easier >>Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo >> >> =20 >> >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642___ _ >___________________________________________ > =20 > >>Quickfixj-users mailing list >>Qui...@li... >>https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> >> =20 >> > > > > > >------------------------------ > >------------------------------------------------------------------------= - >Using Tomcat but need to do more? Need to support web services, = security? >Get stuff done quickly with pre-integrated technology to make your job >easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 > >------------------------------ > >_______________________________________________ >Quickfixj-users mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > >End of Quickfixj-users Digest, Vol 6, Issue 1 >********************************************* > > > > > >------------------------------------------------------------------------= - >Using Tomcat but need to do more? Need to support web services, = security? >Get stuff done quickly with pre-integrated technology to make your job easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 >_______________________________________________ >Quickfixj-users mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfixj-users > =20 > ------------------------------ -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 ------------------------------ _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users End of Quickfixj-users Digest, Vol 6, Issue 2 ********************************************* |
|
From: Steve B. <st...@te...> - 2006-11-03 12:54:36
|
Hi Peter, The time offsets can cause a problem in some cases but your log = indicates that the offset is less than a few seconds and normally that would not cause the login to be rejected unless MaxLatency was configured to a = very small value. The message not sent log event means that a message send was attempted before a connection was established. This is an informational message since the message will eventually be sent once the session is = established. The timestamp on the log event doesn't match any of the messages in the message log you provided. An outgoing message should have been logged=20 at the time the event was logged. The reason I suggested using Banzai with your configuration is that these problems are often caused by incorrect configurations. If Banzai works with your configuration then it would be good to investigate the application behavior further. If Banzai shows the same behavior, it's probably the configuration file although it could be some environment issue (like the time offset suggestion, for example). The other common cause is a sequence number problem. One strange thing I see is that you have reset your session which implies the sequence numbers have been reset to 1. However, the = initiator is semding a sequence number of 17. A sequence number that is too high will cause an immediate disconnect by the acceptor. However, I'd=20 expect to see a logged event. Are you sure your initiator is resetting it's sequence numbers in a way consistent with the acceptor? Regards, Steve -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of = Peter Warder Sent: Friday, November 03, 2006 6:51 AM To: qui...@li... Subject: Re: [Quickfixj-users] Session is not current QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hi Matyas, Thank you for that thought. I have tried hard to synchronize the = computer clocks but maybe not successfully. I'll look at the initiator logs and compare times. Does the event log entry 'No responder, not sending = message' Mean anything to anyone? Thanks again to Steve and Matyas for your help. Peter Warder=20 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of qui...@li... Sent: 02 November 2006 20:30 To: qui...@li... Subject: Quickfixj-users Digest, Vol 6, Issue 2 Send Quickfixj-users mailing list submissions to qui...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/quickfixj-users or, via email, send a message with subject or body 'help' to qui...@li... You can reach the person managing the list at qui...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Quickfixj-users digest..." Today's Topics: 1. Re: Session is not current (Peter Warder) 2. Re: Session is not current (Matyas Barakonyi) ---------------------------------------------------------------------- Message: 1 Date: Thu, 2 Nov 2006 11:23:03 -0000 From: "Peter Warder" <pw...@bl...> Subject: Re: [Quickfixj-users] Session is not current To: <qui...@li...> Message-ID: <000001c6fe71$46471160$0300a8c0@HAL> Content-Type: text/plain; charset=3D"us-ascii" Steve, Thank you for your response. I understand that the log message does not necessarily mean a problem. The problem is that the acceptor is replying = to the Logon message with a Logout (35=3D5) so we can never get a = conversation started. The initiator is an established FIX engine (quickfix C version) already successfully talking with other institutions. So using Banzai wont help. Thanks, Peter Warder London I've posted the event log below: 20061101-15:26:03: Session FIX.4.3:SFCTRADE_TEST->APC_TEST schedule is weekly, SUN 19:00:00 UTC - SAT 18:00:00 UTC 20061101-15:26:03: Session state is not current; resetting FIX.4.3:SFCTRADE_TEST->APC_TEST 20061101-15:26:03: No responder, not sending message 20061101-15:26:03: Valid order types: [1] 20061101-15:26:03: Created session: FIX.4.3:SFCTRADE_TEST->APC_TEST 20061101-15:26:42: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4847 20061101-15:26:42: Acceptor heartbeat set to 30 seconds 20061101-15:26:42: Disconnecting 20061101-15:27:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4848 20061101-15:27:43: Acceptor heartbeat set to 30 seconds 20061101-15:27:43: Disconnecting 20061101-15:28:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4849 20061101-15:28:43: Acceptor heartbeat set to 30 seconds 20061101-15:28:43: Disconnecting 20061101-15:29:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from /62.138.239.155:4850 20061101-15:29:43: Acceptor heartbeat set to 30 seconds 20061101-15:29:43: Disconnecting And the message log: 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D17=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:26:43.135=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D207=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:26:42.750=0156=3DAPC_TE ST=0110=3D051=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D19=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:27:43.438=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D216=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:27:43.000=0156=3DAPC_TE ST=0110=3D041=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D21=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:28:43.691=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D211=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:28:43.250=0156=3DAPC_TE ST=0110=3D049=01 8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D23=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:29:43.933=0156=3DSFCT RADE_TEST=0198=3D0=01108=3D30=0110=3D213=01 8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D200611= 01-15:29:43.484=0156=3DAPC_TE ST=0110=3D059=01 -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of qui...@li... Sent: 01 November 2006 22:31 To: qui...@li... Subject: Quickfixj-users Digest, Vol 6, Issue 1 Send Quickfixj-users mailing list submissions to qui...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/quickfixj-users or, via email, send a message with subject or body 'help' to qui...@li... You can reach the person managing the list at qui...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of Quickfixj-users digest..." Today's Topics: 1. Session is not current (Peter Warder) 2. Re: Session is not current (st...@te...) ---------------------------------------------------------------------- Message: 1 Date: Wed, 1 Nov 2006 16:15:07 -0000 From: "Peter Warder" <pw...@bl...> Subject: [Quickfixj-users] Session is not current To: <qui...@li...> Message-ID: <000001c6fdd0$e717a830$0300a8c0@HAL> Content-Type: text/plain; charset=3D"us-ascii" Hi, I'm a Java rookie and a quickfixj rookie but in other respects a very experienced developer. I'm trying to get a quickfixj acceptor running (based on the executor example) and have made decent progress. I am receiving what look like perfectly good Logon messages from an initiator but their authentication fails on my side so a Logout message = is returned to the initiator. The failure seems to be to do with a message = that the 'session is not current'. I don't know what this means nor how to = fix it. Any ideas?? (logs attached) Peter Warder London -------------- next part -------------- A non-text attachment was scrubbed... Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.messages.log Type: application/octet-stream Size: 772 bytes Desc: not available Url : http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/atta= chmen ts/20061101/14f2b7d0/attachment.obj=20 -------------- next part -------------- A non-text attachment was scrubbed... Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.event.log Type: application/octet-stream Size: 1105 bytes Desc: not available Url : http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/atta= chmen ts/20061101/14f2b7d0/attachment-0001.obj=20 ------------------------------ Message: 2 Date: Wed, 1 Nov 2006 11:42:09 -0500 (EST) From: st...@te... Subject: Re: [Quickfixj-users] Session is not current To: pe...@ss..., qui...@li... Message-ID: <106...@we...> Content-Type: text/plain;charset=3Diso-8859-1 That log message doesn't necessarily indicate a problem. It's telling = you that you have begun a new session (based on your session start/end schedule) and it's going to reset the message store and sequence = numbers. This may or may not be a problem depending on the context. It appears you are using the example order executor for your test. Have you tried running Banzai as a client to the executor with the configuration changed slightly for your scenario? Steve > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi, > > I'm a Java rookie and a quickfixj rookie but in other respects a very > experienced developer. > I'm trying to get a quickfixj acceptor running (based on the executor > example) and have made decent progress. > I am receiving what look like perfectly good Logon messages from an > initiator but their authentication fails on my side so a Logout = message is > returned to the initiator. The failure seems to be to do with a = message > that > the 'session is not current'. I don't know what this means nor how to = fix > it. > Any ideas?? (logs attached) > > Peter Warder > London > = -------------------------------------------------------------------------= > Using Tomcat but need to do more? Need to support web services, = security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642____ ___________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > ------------------------------ -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 ------------------------------ _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users End of Quickfixj-users Digest, Vol 6, Issue 1 ********************************************* ------------------------------ Message: 2 Date: Thu, 02 Nov 2006 12:50:48 +0100 From: Matyas Barakonyi <ma...@ba...> Subject: Re: [Quickfixj-users] Session is not current To: pe...@ss..., qui...@li... Message-ID: <454...@ba...> Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Hi! I had a similar problem few mounths ago... The session could not be=20 established. It was a time sinchronization problem between the 2 computers. It was=20 only a 0.5 min, but the accptor can't process the msg of the = initiator... I'm wondering if this couldn't be a problem in your case... Regards, Matyas >QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >QuickFIX/J Support: http://www.quickfixj.org/support/ >Steve, > >Thank you for your response. I understand that the log message does not >necessarily mean a problem. The problem is that the acceptor is = replying to >the Logon message with a Logout (35=3D5) so we can never get a = conversation >started. > >The initiator is an established FIX engine (quickfix C version) already >successfully talking with other institutions. So using Banzai wont = help. > >Thanks, >Peter Warder >London > >I've posted the event log below: > >20061101-15:26:03: Session FIX.4.3:SFCTRADE_TEST->APC_TEST schedule is >weekly, SUN 19:00:00 UTC - SAT 18:00:00 UTC >20061101-15:26:03: Session state is not current; resetting >FIX.4.3:SFCTRADE_TEST->APC_TEST >20061101-15:26:03: No responder, not sending message >20061101-15:26:03: Valid order types: [1] >20061101-15:26:03: Created session: FIX.4.3:SFCTRADE_TEST->APC_TEST >20061101-15:26:42: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4847 >20061101-15:26:42: Acceptor heartbeat set to 30 seconds >20061101-15:26:42: Disconnecting >20061101-15:27:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4848 >20061101-15:27:43: Acceptor heartbeat set to 30 seconds >20061101-15:27:43: Disconnecting >20061101-15:28:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4849 >20061101-15:28:43: Acceptor heartbeat set to 30 seconds >20061101-15:28:43: Disconnecting >20061101-15:29:43: Accepting session FIX.4.3:SFCTRADE_TEST->APC_TEST = from >/62.138.239.155:4850 >20061101-15:29:43: Acceptor heartbeat set to 30 seconds >20061101-15:29:43: Disconnecting > >And the message log: >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D17=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:26:43.135=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D207=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:26:42.750=0156=3DAPC_T E >ST=0110=3D051=01 >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D19=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:27:43.438=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D216=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:27:43.000=0156=3DAPC_T E >ST=0110=3D041=01 >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D21=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:28:43.691=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D211=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:28:43.250=0156=3DAPC_T E >ST=0110=3D049=01 >8=3DFIX.4.3=019=3D83=0135=3DA=0134=3D23=0149=3DAPC_TEST=0150=3DFX=0152=3D= 20061101-15:29:43.933=0156=3DSFC T >RADE_TEST=0198=3D0=01108=3D30=0110=3D213=01 >8=3DFIX.4.3=019=3D64=0135=3D5=0134=3D1=0149=3DSFCTRADE_TEST=0152=3D20061= 101-15:29:43.484=0156=3DAPC_T E >ST=0110=3D059=01 > > >-----Original Message----- >From: qui...@li... >[mailto:qui...@li...] On Behalf Of >qui...@li... >Sent: 01 November 2006 22:31 >To: qui...@li... >Subject: Quickfixj-users Digest, Vol 6, Issue 1 > >Send Quickfixj-users mailing list submissions to > qui...@li... > >To subscribe or unsubscribe via the World Wide Web, visit > https://lists.sourceforge.net/lists/listinfo/quickfixj-users >or, via email, send a message with subject or body 'help' to > qui...@li... > >You can reach the person managing the list at > qui...@li... > >When replying, please edit your Subject line so it is more specific >than "Re: Contents of Quickfixj-users digest..." > > >Today's Topics: > > 1. Session is not current (Peter Warder) > 2. Re: Session is not current (st...@te...) > > >---------------------------------------------------------------------- > >Message: 1 >Date: Wed, 1 Nov 2006 16:15:07 -0000 >From: "Peter Warder" <pw...@bl...> >Subject: [Quickfixj-users] Session is not current >To: <qui...@li...> >Message-ID: <000001c6fdd0$e717a830$0300a8c0@HAL> >Content-Type: text/plain; charset=3D"us-ascii" > >Hi, > >I'm a Java rookie and a quickfixj rookie but in other respects a very >experienced developer. >I'm trying to get a quickfixj acceptor running (based on the executor >example) and have made decent progress. >I am receiving what look like perfectly good Logon messages from an >initiator but their authentication fails on my side so a Logout message = is >returned to the initiator. The failure seems to be to do with a message that >the 'session is not current'. I don't know what this means nor how to = fix >it. >Any ideas?? (logs attached) > >Peter Warder >London >-------------- next part -------------- >A non-text attachment was scrubbed... >Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.messages.log >Type: application/octet-stream >Size: 772 bytes >Desc: not available >Url : >http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/att= achme n >ts/20061101/14f2b7d0/attachment.obj=20 >-------------- next part -------------- >A non-text attachment was scrubbed... >Name: FIX.4.3-SFCTRADE_TEST-APC_TEST.event.log >Type: application/octet-stream >Size: 1105 bytes >Desc: not available >Url : >http://sourceforge.net/mailarchive/forum.php?forum=3Dquickfixj-users/att= achme n >ts/20061101/14f2b7d0/attachment-0001.obj=20 > >------------------------------ > >Message: 2 >Date: Wed, 1 Nov 2006 11:42:09 -0500 (EST) >From: st...@te... >Subject: Re: [Quickfixj-users] Session is not current >To: pe...@ss..., qui...@li... >Message-ID: > <106...@we...> >Content-Type: text/plain;charset=3Diso-8859-1 > >That log message doesn't necessarily indicate a problem. It's telling = you >that you have begun a new session (based on your session start/end >schedule) and it's going to reset the message store and sequence = numbers. >This may or may not be a problem depending on the context. > >It appears you are using the example order executor for your test. Have >you tried running Banzai as a client to the executor with the >configuration changed slightly for your scenario? > >Steve > > =20 > >>QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>QuickFIX/J Support: http://www.quickfixj.org/support/ >>Hi, >> >>I'm a Java rookie and a quickfixj rookie but in other respects a very >>experienced developer. >>I'm trying to get a quickfixj acceptor running (based on the executor >>example) and have made decent progress. >>I am receiving what look like perfectly good Logon messages from an >>initiator but their authentication fails on my side so a Logout = message is >>returned to the initiator. The failure seems to be to do with a = message >>that >>the 'session is not current'. I don't know what this means nor how to = fix >>it. >>Any ideas?? (logs attached) >> >>Peter Warder >>London >>-----------------------------------------------------------------------= -- >>Using Tomcat but need to do more? Need to support web services, = security? >>Get stuff done quickly with pre-integrated technology to make your job >>easier >>Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo >> >> =20 >> >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642___ _ >___________________________________________ > =20 > >>Quickfixj-users mailing list >>Qui...@li... >>https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> >> =20 >> > > > > > >------------------------------ > >------------------------------------------------------------------------= - >Using Tomcat but need to do more? Need to support web services, = security? >Get stuff done quickly with pre-integrated technology to make your job >easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 > >------------------------------ > >_______________________________________________ >Quickfixj-users mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > >End of Quickfixj-users Digest, Vol 6, Issue 1 >********************************************* > > > > > >------------------------------------------------------------------------= - >Using Tomcat but need to do more? Need to support web services, = security? >Get stuff done quickly with pre-integrated technology to make your job easier >Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo >http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 >_______________________________________________ >Quickfixj-users mailing list >Qui...@li... >https://lists.sourceforge.net/lists/listinfo/quickfixj-users > =20 > ------------------------------ -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 ------------------------------ _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users End of Quickfixj-users Digest, Vol 6, Issue 2 ********************************************* -------------------------------------------------------------------------= Using Tomcat but need to do more? Need to support web services, = security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache = Geronimo http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D120709&bid=3D263057&dat=3D= 121642 _______________________________________________ Quickfixj-users mailing list Qui...@li... https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: Alvin W. <AW...@FF...> - 2006-11-03 19:22:43
|
Group partyGroup = new Group(NoPartyIDs.FIELD, PartyID.FIELD);
partyGroup.setField(new PartyID("TraderName"));
partyGroup.setField(new
PartyIDSource(PartyIDSource.GENERALLY_ACCEPTED_MARKET_PARTICIPANT_IDENTIFIER));
partyGroup.setField(new PartyRole(11));
order.addGroup(partyGroup);
We suspect that Quickfix/J does not create the right order, while QF's java
wrapper can with the same code above.
Quickfix/J:
453=1|447=C|448=TraderName|452=11 (448 should be the group delimiter)
QF's Java:
453=1|448=TraderName|447=C|452=11
Pls take a look. If this is true, it is a show stopper.
thanks
*******************************************************************************
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
*******************************************************************************
|
|
From: Steve B. <st...@te...> - 2006-11-04 02:49:40
|
Alvin,
I recommend using the NewOrderSingle.NoPartyIDs rather than the
generic Group. The C++ code does create an ordering for the delimeter
field using the constructor you're using and QFJ does not. We can
change tnat behavior to be consistent with the C++ constructor but
this usage of the generic Group will be dangerous to use in both C++ and
QFJ. The C++ code happens to order the non-delimeter fields in key order,
which are tag numbers in this case. You are fortunate to have two
non-delimeter tags where the tag number ordering and the group field
ordering are the same. In general, you probably wouldn't be so lucky
since the ordering of the non-delimeter fields is undefined from an
API perspective when using this Group constructor.
If users want to create a generic Group rather than using the
message-specific groups we should probably create a constructor that
takes a group field tag number and a data dictionary and let the
constructor build the correct ordering criteria and determine the
delimeter field from the dictionary. It seems safer.
Oren, any comments?
Steve
-----Original Message-----
From: Alvin Wang [mailto:AW...@FF...]
Sent: Friday, November 03, 2006 2:22 PM
To: qui...@li...
Cc: qui...@li...;
qui...@li...
Subject: repeating group problem
Group partyGroup = new Group(NoPartyIDs.FIELD, PartyID.FIELD);
partyGroup.setField(new PartyID("TraderName"));
partyGroup.setField(new
PartyIDSource(PartyIDSource.GENERALLY_ACCEPTED_MARKET_PARTICIPANT_IDENTIFIER
));
partyGroup.setField(new PartyRole(11));
order.addGroup(partyGroup);
We suspect that Quickfix/J does not create the right order, while QF's java
wrapper can with the same code above.
Quickfix/J:
453=1|447=C|448=TraderName|452=11 (448 should be the group delimiter)
QF's Java:
453=1|448=TraderName|447=C|452=11
Pls take a look. If this is true, it is a show stopper.
thanks
****************************************************************************
***
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
****************************************************************************
***
|
|
From: Oren M. <or...@qu...> - 2006-11-04 04:06:52
|
Yeah, I would recommend adopting the same practice as the C++ engine of placing the delimiter first no matter what. For all practical purposes, this is all you really need. The spec does specify that all fields must be in a certain order, but most implementations, QuickFIX included, do not care as long as the delimiter is in the right place. Despite this, your recommendation of using the generated group is the best way to go. Dynamically creating groups based on the DataDictionary is an interesting idea. What do you think of flipping it around a little and turning the DataDictionary into a kind of factory. I'm thinking: Group group = dataDictionary.createGroup( "X", NoPartyIDs.FIELD ) Then you can even add createMessage( "X" ), and createField methods. Could be useful for some use cases that require more dynamic capabilities. --oren On Nov 3, 2006, at 8:49 PM, Steve Bate wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Alvin, > > I recommend using the NewOrderSingle.NoPartyIDs rather than the > generic Group. The C++ code does create an ordering for the delimeter > field using the constructor you're using and QFJ does not. We can > change tnat behavior to be consistent with the C++ constructor but > this usage of the generic Group will be dangerous to use in both C+ > + and > QFJ. The C++ code happens to order the non-delimeter fields in key > order, > which are tag numbers in this case. You are fortunate to have two > non-delimeter tags where the tag number ordering and the group field > ordering are the same. In general, you probably wouldn't be so lucky > since the ordering of the non-delimeter fields is undefined from an > API perspective when using this Group constructor. > > If users want to create a generic Group rather than using the > message-specific groups we should probably create a constructor that > takes a group field tag number and a data dictionary and let the > constructor build the correct ordering criteria and determine the > delimeter field from the dictionary. It seems safer. > > Oren, any comments? > > Steve |
|
From: <st...@te...> - 2006-11-06 19:01:57
|
> Yeah, I would recommend adopting the same practice as the C++ engine > of placing the delimiter first no matter what. For all practical > purposes, this is all you really need. The spec does specify that > all fields must be in a certain order, but most implementations, > QuickFIX included, do not care as long as the delimiter is in the > right place. Despite this, your recommendation of using the > generated group is the best way to go. I've made the change in the QFJ trunk. > Dynamically creating groups based on the DataDictionary is an > interesting idea. What do you think of flipping it around a little > and turning the DataDictionary into a kind of factory. I'm thinking: > > Group group = dataDictionary.createGroup( "X", NoPartyIDs.FIELD ) > > Then you can even add createMessage( "X" ), and createField methods. > Could be useful for some use cases that require more dynamic > capabilities. Interesting idea. It would be nice to have a dynamic factory. What about using (and extending) the quickfix.MessageFactory with an implementation that uses a data dictionary for generating messages and parts of messages like groups, components and fields? The only minor concern I have about adding it to the DataDictionary is that this seems to add a new responsibility to the dictionary. I'd even like to see validation extracted to a validator class rather than tightly coupled to the metadata management provided by the DataDictionary. Regards, Steve |
|
From: Alvin W. <AW...@FF...> - 2006-11-06 19:10:55
|
Steve,
Could you tell me how I can get the latest build? thanks,
Alvin
steve@technoetic.
com
Sent by: To
quickfixj-users-b qui...@li....n
ou...@li... et
ceforge.net cc
Subject
11/06/2006 02:01 Re: [Quickfixj-users] repeating
PM group problem
Please respond to
quickfixj-users@l
ists.sourceforge.
net
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
> Yeah, I would recommend adopting the same practice as the C++ engine
> of placing the delimiter first no matter what. For all practical
> purposes, this is all you really need. The spec does specify that
> all fields must be in a certain order, but most implementations,
> QuickFIX included, do not care as long as the delimiter is in the
> right place. Despite this, your recommendation of using the
> generated group is the best way to go.
I've made the change in the QFJ trunk.
> Dynamically creating groups based on the DataDictionary is an
> interesting idea. What do you think of flipping it around a little
> and turning the DataDictionary into a kind of factory. I'm thinking:
>
> Group group = dataDictionary.createGroup( "X", NoPartyIDs.FIELD )
>
> Then you can even add createMessage( "X" ), and createField methods.
> Could be useful for some use cases that require more dynamic
> capabilities.
Interesting idea. It would be nice to have a dynamic factory. What about
using (and extending) the quickfix.MessageFactory with an implementation
that uses a data dictionary for generating messages and parts of messages
like groups, components and fields?
The only minor concern I have about adding it to the DataDictionary is
that this seems to add a new responsibility to the dictionary. I'd even
like to see validation extracted to a validator class rather than tightly
coupled to the metadata management provided by the DataDictionary.
Regards,
Steve
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Quickfixj-users mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
*******************************************************************************
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
*******************************************************************************
|
|
From: Oren M. <or...@qu...> - 2006-11-06 21:27:33
|
Unfortunately the Ruby, Python, and C++ API's do not have a MessageFactory. They were added to the Java and .NET APIs due to those languages very strict type checking. We could probably add a MessageFactory to them for this purpose, even though the original use case of it isn't relevant to those languages. A dynamic message factory could be pretty cool because we could probably drop the requirement of passing a message factory to the initiator/acceptor (making all the APIs more similar to each other). Each session with a data dictionary could use a dynamic factory, while ones without would just use the default. I'm not sure if this would create any sort of significant performance repercussions. I'm not sure I necessarily agree about pulling validate out of the data dictionary. I suppose if there is a use case where you want to validate against the data dictionary and something else. If you are just validating against a data dictionary however, the validate method seems to be in an appropriate location to me. --oren On Nov 6, 2006, at 1:01 PM, st...@te... wrote: >> Dynamically creating groups based on the DataDictionary is an >> interesting idea. What do you think of flipping it around a little >> and turning the DataDictionary into a kind of factory. I'm thinking: >> >> Group group = dataDictionary.createGroup( "X", NoPartyIDs.FIELD ) >> >> Then you can even add createMessage( "X" ), and createField methods. >> Could be useful for some use cases that require more dynamic >> capabilities. > > Interesting idea. It would be nice to have a dynamic factory. What > about > using (and extending) the quickfix.MessageFactory with an > implementation > that uses a data dictionary for generating messages and parts of > messages > like groups, components and fields? > > The only minor concern I have about adding it to the DataDictionary is > that this seems to add a new responsibility to the dictionary. I'd > even > like to see validation extracted to a validator class rather than > tightly > coupled to the metadata management provided by the DataDictionary. > > Regards, > > Steve > > > ---------------------------------------------------------------------- > --- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: Steve B. <st...@te...> - 2006-11-07 13:44:53
|
Again, it's not a significant issue. I see validation and metadata management as two separate responsibilities and representing two types of functionality that can be used independently. For example, some of the QF tools use the metadata but aren't concerned about validation. It's possible someone would want to use the data dictionary for message parsing but disable all or most validations by providing a custom validator. For extended validators, the "something else" might be custom validation logic such as a rule-based validator or some other advanced validation mechanism. There might be a desire to store metadata in a different format than XML, such as a database or a Spring Framework configuration (for Java, of course). The tight coupling between the validation and the data dictionary implementations make this a bit more challenging. Steve > I'm not sure I necessarily agree about pulling validate out of the > data dictionary. I suppose if there is a use case where you want to > validate against the data dictionary and something else. If you are > just validating against a data dictionary however, the validate > method seems to be in an appropriate location to me. > > --oren |
|
From: Alvin W. <AW...@FF...> - 2006-11-07 22:59:39
|
Steve,
The reason I do not want to use NewOrderSingle.NoPartyIDs is that my order
object can be either a NewOrderSingle or NewOrderMultileg. Not sure if I
can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg object?
Could you clarify? Just wonder why there is not an abstract class sitting
on the top like GeneralOrder which can enclose some common fields or
classes like NoPartyIDs?
BTW, could you tell me how I can get the latest build if you have some new
fixes?
thanks
"Steve Bate"
<steve@technoetic
.com> To
Sent by: <qui...@li....
quickfixj-users-b net>
ou...@li... cc
ceforge.net
Subject
Re: [Quickfixj-users] repeating
11/03/2006 09:49 group problem
PM
Please respond to
quickfixj-users@l
ists.sourceforge.
net
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
Alvin,
I recommend using the NewOrderSingle.NoPartyIDs rather than the
generic Group. The C++ code does create an ordering for the delimeter
field using the constructor you're using and QFJ does not. We can
change tnat behavior to be consistent with the C++ constructor but
this usage of the generic Group will be dangerous to use in both C++ and
QFJ. The C++ code happens to order the non-delimeter fields in key order,
which are tag numbers in this case. You are fortunate to have two
non-delimeter tags where the tag number ordering and the group field
ordering are the same. In general, you probably wouldn't be so lucky
since the ordering of the non-delimeter fields is undefined from an
API perspective when using this Group constructor.
If users want to create a generic Group rather than using the
message-specific groups we should probably create a constructor that
takes a group field tag number and a data dictionary and let the
constructor build the correct ordering criteria and determine the
delimeter field from the dictionary. It seems safer.
Oren, any comments?
Steve
-----Original Message-----
From: Alvin Wang [mailto:AW...@FF...]
Sent: Friday, November 03, 2006 2:22 PM
To: qui...@li...
Cc: qui...@li...;
qui...@li...
Subject: repeating group problem
Group partyGroup = new Group(NoPartyIDs.FIELD, PartyID.FIELD);
partyGroup.setField(new PartyID("TraderName"));
partyGroup.setField(new
PartyIDSource(PartyIDSource.GENERALLY_ACCEPTED_MARKET_PARTICIPANT_IDENTIFIER
));
partyGroup.setField(new PartyRole(11));
order.addGroup(partyGroup);
We suspect that Quickfix/J does not create the right order, while QF's java
wrapper can with the same code above.
Quickfix/J:
453=1|447=C|448=TraderName|452=11 (448 should be the group delimiter)
QF's Java:
453=1|448=TraderName|447=C|452=11
Pls take a look. If this is true, it is a show stopper.
thanks
****************************************************************************
***
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
****************************************************************************
***
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Quickfixj-users mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
|
|
From: Toli K. <to...@ma...> - 2006-11-07 23:03:39
|
Alvin, Don't have the answers to your repeating groups question, but if you want to get the HEAD of the quickfixj tree, follow the instructions here: http://sourceforge.net/svn/?group_id=163099 Essentially, you need to install SVN if you don't have it and run this command: %> svn co https://svn.sourceforge.net/svnroot/quickfixj/trunk quickfixj-latest and you'll have the latest source code branch. the source code is under code/ subdirectory. On 11/7/06, Alvin Wang <AW...@ff...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Steve, > > The reason I do not want to use NewOrderSingle.NoPartyIDs is that my order > object can be either a NewOrderSingle or NewOrderMultileg. Not sure if I > can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg object? > Could you clarify? Just wonder why there is not an abstract class sitting > on the top like GeneralOrder which can enclose some common fields or > classes like NoPartyIDs? > > BTW, could you tell me how I can get the latest build if you have some new > fixes? > > thanks > > > > > > > > "Steve Bate" > <steve@technoetic > .com> To > Sent by: <qui...@li.... > quickfixj-users-b net> > ou...@li... cc > ceforge.net > Subject > Re: [Quickfixj-users] repeating > 11/03/2006 09:49 group problem > PM > > > Please respond to > quickfixj-users@l > ists.sourceforge. > net > > > > > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Alvin, > > I recommend using the NewOrderSingle.NoPartyIDs rather than the > generic Group. The C++ code does create an ordering for the delimeter > field using the constructor you're using and QFJ does not. We can > change tnat behavior to be consistent with the C++ constructor but > this usage of the generic Group will be dangerous to use in both C++ and > QFJ. The C++ code happens to order the non-delimeter fields in key order, > which are tag numbers in this case. You are fortunate to have two > non-delimeter tags where the tag number ordering and the group field > ordering are the same. In general, you probably wouldn't be so lucky > since the ordering of the non-delimeter fields is undefined from an > API perspective when using this Group constructor. > > If users want to create a generic Group rather than using the > message-specific groups we should probably create a constructor that > takes a group field tag number and a data dictionary and let the > constructor build the correct ordering criteria and determine the > delimeter field from the dictionary. It seems safer. > > Oren, any comments? > > Steve > > -----Original Message----- > From: Alvin Wang [mailto:AW...@FF...] > Sent: Friday, November 03, 2006 2:22 PM > To: qui...@li... > Cc: qui...@li...; > qui...@li... > Subject: repeating group problem > > Group partyGroup = new Group(NoPartyIDs.FIELD, PartyID.FIELD); > partyGroup.setField(new PartyID("TraderName")); > partyGroup.setField(new > PartyIDSource(PartyIDSource.GENERALLY_ACCEPTED_MARKET_PARTICIPANT_IDENTIFIER > > )); > partyGroup.setField(new PartyRole(11)); > order.addGroup(partyGroup); > > We suspect that Quickfix/J does not create the right order, while QF's java > wrapper can with the same code above. > > Quickfix/J: > 453=1|447=C|448=TraderName|452=11 (448 should be the group delimiter) > > QF's Java: > 453=1|448=TraderName|447=C|452=11 > > Pls take a look. If this is true, it is a show stopper. > thanks > > > > > **************************************************************************** > > *** > This e-mail message is intended solely for the use of the addressee. > The message may contain information that is privileged and > confidential. > Disclosure to anyone other than the intended recipient is prohibited. > If you are not the intended recipient, please do not disseminate, > distribute or copy this communication, by e-mail or otherwise. Instead, > please notify us immediately by return e-mail(including the original > message with your reply) and then delete and discard all copies of the > message. We have taken precautions to minimize the risk of transmitting > software viruses but nevertheless advise you to carry out your own > virus checks on any attachment to this message. We accept > no liability for any loss or damage caused by software viruses. > **************************************************************************** > > *** > > > > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: Steve B. <st...@te...> - 2006-11-08 01:28:44
|
> The reason I do not want to use NewOrderSingle.NoPartyIDs is that my order
> object can be either a NewOrderSingle or NewOrderMultileg. Not sure if I
> can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg object?
> Could you clarify? Just wonder why there is not an abstract class sitting
> on the top like GeneralOrder which can enclose some common fields or
> classes like NoPartyIDs?
The messages correspond directly to the FIX specification.
You don't necessarily need a new build. Have you tried using the
Group(int field, int delim, int[] order) constructor in 1.0.4?
The only change I made was to make Group(field, delim) call
Group(field, delim, new int[] { delim }). Better yet, you'll
be safer if you include all the tags in the integer array in
the correct order. However, like Oren said, many FIX engines
will not enforce the order of the non-delimeter tags.
Steve
|
|
From: Alvin W. <AW...@FF...> - 2006-11-08 16:15:24
|
I understand that the classes are generated automatically from XML. But I
feel it may be better to have some optimization and abstractions. This will
greatly improve code reusibility and flexibility, for example codes
handling different order messages and even different FIX versions. How to
easily maintain the code base when we need to handle different versions of
FIX is always our concern by using QF or QF/J. Right now, the message
classes are bounded with FIX version. Any insights?
Just my 2 cents
"Steve Bate"
<steve@technoetic
.com> To
Sent by: <qui...@li....
quickfixj-users-b net>
ou...@li... cc
ceforge.net
Subject
Re: [Quickfixj-users] repeating
11/07/2006 08:28 group problem
PM
Please respond to
quickfixj-users@l
ists.sourceforge.
net
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
> The reason I do not want to use NewOrderSingle.NoPartyIDs is that my
order
> object can be either a NewOrderSingle or NewOrderMultileg. Not sure if I
> can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg object?
> Could you clarify? Just wonder why there is not an abstract class sitting
> on the top like GeneralOrder which can enclose some common fields or
> classes like NoPartyIDs?
The messages correspond directly to the FIX specification.
You don't necessarily need a new build. Have you tried using the
Group(int field, int delim, int[] order) constructor in 1.0.4?
The only change I made was to make Group(field, delim) call
Group(field, delim, new int[] { delim }). Better yet, you'll
be safer if you include all the tags in the integer array in
the correct order. However, like Oren said, many FIX engines
will not enforce the order of the non-delimeter tags.
Steve
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Quickfixj-users mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
*******************************************************************************
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
*******************************************************************************
|
|
From: <st...@te...> - 2006-11-08 17:02:54
|
Hi Alvin, I understand and I tend to agree. However, I'd like to hear Oren's comments on these issues. The core QFJ API is based on the QF API and it's our goal to keep them compatible when moving from QF to QFJ. That said, one of the features being planned for a post 1.1.0 release is to completely decouple the session protocol engine from the generated message/field code. This will give increased flexibility for packaging and using custom message representations although they must still be based on quickfix.Message. For example, we intend to provide a message representation that uses BigDecimal for prices and other values that need precise representations. My long term vision is to redesign the parsing engine to allow mapping of FIX messages directly to POJOs that aren't required to inherit from quickfix.Message at all. I'm not sure when I'll have time to do that since QFJ is a spare time project for me. ;-) Steve > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > I understand that the classes are generated automatically from XML. But I > feel it may be better to have some optimization and abstractions. This > will > greatly improve code reusibility and flexibility, for example codes > handling different order messages and even different FIX versions. How to > easily maintain the code base when we need to handle different versions of > FIX is always our concern by using QF or QF/J. Right now, the message > classes are bounded with FIX version. Any insights? > > Just my 2 cents > > > > > "Steve Bate" > <steve@technoetic > .com> To > Sent by: <qui...@li.... > quickfixj-users-b net> > ou...@li... cc > ceforge.net > Subject > Re: [Quickfixj-users] repeating > 11/07/2006 08:28 group problem > PM > > > Please respond to > quickfixj-users@l > ists.sourceforge. > net > > > > > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ >> The reason I do not want to use NewOrderSingle.NoPartyIDs is that my > order >> object can be either a NewOrderSingle or NewOrderMultileg. Not sure if I >> can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg >> object? >> Could you clarify? Just wonder why there is not an abstract class >> sitting >> on the top like GeneralOrder which can enclose some common fields or >> classes like NoPartyIDs? > > The messages correspond directly to the FIX specification. > > You don't necessarily need a new build. Have you tried using the > Group(int field, int delim, int[] order) constructor in 1.0.4? > The only change I made was to make Group(field, delim) call > Group(field, delim, new int[] { delim }). Better yet, you'll > be safer if you include all the tags in the integer array in > the correct order. However, like Oren said, many FIX engines > will not enforce the order of the non-delimeter tags. > > Steve > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > > > > ******************************************************************************* > This e-mail message is intended solely for the use of the addressee. > The message may contain information that is privileged and > confidential. > Disclosure to anyone other than the intended recipient is prohibited. > If you are not the intended recipient, please do not disseminate, > distribute or copy this communication, by e-mail or otherwise. Instead, > please notify us immediately by return e-mail(including the original > message with your reply) and then delete and discard all copies of the > message. We have taken precautions to minimize the risk of transmitting > software viruses but nevertheless advise you to carry out your own > virus checks on any attachment to this message. We accept > no liability for any loss or damage caused by software viruses. > ******************************************************************************* > > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job > easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: Oren M. <or...@qu...> - 2006-11-09 22:40:31
|
Isn't the session code already decoupled from the generated message code? It has been that way with QuickFIX since the beginning. Is this different in QuickFIX/J? The purpose of the generated classes is to allow you to add a certain level of type safety by taking advantage of the compilers type system. If you are are writing code that supports multiple versions (is there a reason for this? Are you using the fix messages as your domain objects instead of converting them at the edge of your system?), you do not want type safety. I'm not sure it really makes sense. At least in QuickFIX, the Session class is an example of an object that supports multiple versions of fix which does not make use of type safety. No generated message classes are used anywhere in there. If you are trying to write code blocks to support multiple versions, you should be working directly with the Message class. I'm not sure how the generated objects help you at all since type safety is not something you desire in this case. Is there something I'm missing? --oren On Nov 8, 2006, at 11:02 AM, st...@te... wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi Alvin, > > I understand and I tend to agree. However, I'd like to hear Oren's > comments on these issues. The core QFJ API is based on the QF API > and it's our goal to keep them compatible when moving from QF to QFJ. > > That said, one of the features being planned for a post 1.1.0 > release is to completely decouple the session protocol engine > from the generated message/field code. This will give increased > flexibility for packaging and using custom message representations > although they must still be based on quickfix.Message. For example, > we intend to provide a message representation that uses BigDecimal > for prices and other values that need precise representations. > > My long term vision is to redesign the parsing engine to allow > mapping of FIX messages directly to POJOs that aren't required to > inherit from quickfix.Message at all. I'm not sure when I'll have > time to do that since QFJ is a spare time project for me. ;-) > > Steve > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> I understand that the classes are generated automatically from >> XML. But I >> feel it may be better to have some optimization and abstractions. >> This >> will >> greatly improve code reusibility and flexibility, for example codes >> handling different order messages and even different FIX versions. >> How to >> easily maintain the code base when we need to handle different >> versions of >> FIX is always our concern by using QF or QF/J. Right now, the message >> classes are bounded with FIX version. Any insights? >> >> Just my 2 cents >> >> >> >> >> "Steve Bate" >> <steve@technoetic >> .com> >> To >> Sent by: <quickfixj- >> us...@li.... >> quickfixj-users-b net> >> >> ou...@li... cc >> ceforge.net >> >> Subject >> Re: [Quickfixj-users] >> repeating >> 11/07/2006 08:28 group problem >> PM >> >> >> Please respond to >> quickfixj-users@l >> ists.sourceforge. >> net >> >> >> >> >> >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >>> The reason I do not want to use NewOrderSingle.NoPartyIDs is that my >> order >>> object can be either a NewOrderSingle or NewOrderMultileg. Not >>> sure if I >>> can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg >>> object? >>> Could you clarify? Just wonder why there is not an abstract class >>> sitting >>> on the top like GeneralOrder which can enclose some common fields or >>> classes like NoPartyIDs? >> >> The messages correspond directly to the FIX specification. >> >> You don't necessarily need a new build. Have you tried using the >> Group(int field, int delim, int[] order) constructor in 1.0.4? >> The only change I made was to make Group(field, delim) call >> Group(field, delim, new int[] { delim }). Better yet, you'll >> be safer if you include all the tags in the integer array in >> the correct order. However, like Oren said, many FIX engines >> will not enforce the order of the non-delimeter tags. >> >> Steve >> >> >> >> --------------------------------------------------------------------- >> ---- >> Using Tomcat but need to do more? Need to support web services, >> security? >> Get stuff done quickly with pre-integrated technology to make your >> job >> easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> http://sel.as-us.falkag.net/sel? >> cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> >> >> >> >> >> ********************************************************************* >> ********** >> This e-mail message is intended solely for the use of the addressee. >> The message may contain information that is privileged and >> confidential. >> Disclosure to anyone other than the intended recipient is prohibited. >> If you are not the intended recipient, please do not disseminate, >> distribute or copy this communication, by e-mail or otherwise. >> Instead, >> please notify us immediately by return e-mail(including the original >> message with your reply) and then delete and discard all copies of >> the >> message. We have taken precautions to minimize the risk of >> transmitting >> software viruses but nevertheless advise you to carry out your own >> virus checks on any attachment to this message. We accept >> no liability for any loss or damage caused by software viruses. >> ********************************************************************* >> ********** >> >> >> >> --------------------------------------------------------------------- >> ---- >> Using Tomcat but need to do more? Need to support web services, >> security? >> Get stuff done quickly with pre-integrated technology to make your >> job >> easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> http://sel.as-us.falkag.net/sel? >> cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> > > > > ---------------------------------------------------------------------- > --- > Using Tomcat but need to do more? Need to support web services, > security? > Get stuff done quickly with pre-integrated technology to make your > job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache > Geronimo > http://sel.as-us.falkag.net/sel? > cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: <st...@te...> - 2006-11-09 23:34:24
|
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Isn't the session code already decoupled from the generated message > code? It has been that way with QuickFIX since the beginning. Is > this different in QuickFIX/J? I believe QFJ is only dependent on generated field definitions. Do you manually maintain the C++/Fields.h file? Is that where the C++ Session gets it's field definitions rather than the generated field definitions? > The purpose of the generated classes is to allow you to add a certain > level of type safety by taking advantage of the compilers type > system. If you are are writing code that supports multiple versions > (is there a reason for this? Are you using the fix messages as your > domain objects instead of converting them at the edge of your > system?), you do not want type safety. I can't speak for Alvin, but I've been in several situations where I've needed to map domain objects to multiple versions of FIX and vice versa. > I'm not sure it really makes > sense. At least in QuickFIX, the Session class is an example of an > object that supports multiple versions of fix which does not make use > of type safety. No generated message classes are used anywhere in > there. Again, that's mostly true for QFJ also. > If you are trying to write code blocks to support multiple versions, > you should be working directly with the Message class. I'm not sure > how the generated objects help you at all since type safety is not > something you desire in this case. Is there something I'm missing? My impression was that Alvin didn't want to give up all type safety, but wanted a message representation with more abstractions for common aspects of the currently generated message classes. Personally, I would just use the message objects directly as you've suggested. Steve > On Nov 8, 2006, at 11:02 AM, st...@te... wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> Hi Alvin, >> >> I understand and I tend to agree. However, I'd like to hear Oren's >> comments on these issues. The core QFJ API is based on the QF API >> and it's our goal to keep them compatible when moving from QF to QFJ. >> >> That said, one of the features being planned for a post 1.1.0 >> release is to completely decouple the session protocol engine >> from the generated message/field code. This will give increased >> flexibility for packaging and using custom message representations >> although they must still be based on quickfix.Message. For example, >> we intend to provide a message representation that uses BigDecimal >> for prices and other values that need precise representations. >> ... |
|
From: Oren M. <or...@qu...> - 2006-11-10 00:22:05
|
> I believe QFJ is only dependent on generated field definitions. Do you > manually maintain the C++/Fields.h file? Is that where the C++ Session > gets it's field definitions rather than the generated field > definitions? Yes, the messages are decoupled, the fields are not. It's not really been much of a problem though since when using non typesafe methods the messages don't care what the field is as long as the number and type are correct. I guess it is conceivable future versions of fix could change the names or types of the core session fields, but I don't think it's very likely. Theoretically this could be decoupled as well, though if any of those fields are missing you don't really have a FIX session anymore. Perhaps that would be a legitimate thing to do if you plan on using another transport as made possible by FIX 5.0. > I can't speak for Alvin, but I've been in several situations where > I've needed to map domain objects to multiple versions of FIX > and vice versa. Oh yeah, me too. In those situations there's a choice about whether to use compile time type safety or use dynamic logic. Using type safety requires some more coding, but you have the benefits of the compiler letting you know when something is wrong. Dynamic code doesn't give you that, but it allows you to create more compact code by allowing you to share. I'm not really sure how you can get both those benefits at the same time. Classic case of dynamic vs compile time type safety. > My impression was that Alvin didn't want to give up all type safety, > but wanted a message representation with more abstractions for common > aspects of the currently generated message classes. Personally, I > would just use the message objects directly as you've suggested. Yeah, I think so to, I'm just not sure how that would be accomplished. Perhaps an example would be helpful. The problem is of course that messages change pretty significantly between versions sometimes. Fields get added, removed, their type changes, groups are added, groups are modified etc. etc. Groups are actually a case where you can take advantage of some sharing. If groups have not significantly changed between versions, their is no reason you cannot call addGroup on a FIX.4.2 messages or a FIX.4.4 message with the same generated group object. Making components into objects might be helpful in this regard as well. |
|
From: Steve B. <st...@te...> - 2006-11-10 05:17:03
|
> Yes, the messages are decoupled, the fields are not. It's not really > been much of a problem though since when using non typesafe methods > the messages don't care what the field is as long as the number and > type are correct. I guess it is conceivable future versions of fix > could change the names or types of the core session fields, but I > don't think it's very likely. Theoretically this could be decoupled > as well, though if any of those fields are missing you don't really > have a FIX session anymore. Perhaps that would be a legitimate thing > to do if you plan on using another transport as made possible by FIX > 5.0. I'm exploring the possibility of packaged message representations for various flavors of FIX. The existing generated representations would be just one option. I'm also thinking it would be an option to use the generic messages without any code generation at all. >... > > My impression was that Alvin didn't want to give up all type safety, > > but wanted a message representation with more abstractions for common > > aspects of the currently generated message classes. Personally, I > > would just use the message objects directly as you've suggested. > > Yeah, I think so to, I'm just not sure how that would be > accomplished. Perhaps an example would be helpful. The problem is > of course that messages change pretty significantly between versions > sometimes. Fields get added, removed, their type changes, groups are > added, groups are modified etc. etc. Examples of message overlap are the NewOrderSingle and NewOrderList. Although that could be extracted to a common base class, I agree with you that it would probably be too much work to develop and maintain. Steve |
|
From: Alvin W. <AW...@FF...> - 2006-11-16 20:50:43
|
pls see my comments below. thanks.
Oren Miller
<oren@quickfixeng
ine.org> To
Sent by: qui...@li....n
quickfixj-users-b et
ou...@li... cc
ceforge.net
Subject
Re: [Quickfixj-users] repeating
11/09/2006 07:21 group problem
PM
Please respond to
quickfixj-users@l
ists.sourceforge.
net
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
> I believe QFJ is only dependent on generated field definitions. Do you
> manually maintain the C++/Fields.h file? Is that where the C++ Session
> gets it's field definitions rather than the generated field
> definitions?
Yes, the messages are decoupled, the fields are not. It's not really
been much of a problem though since when using non typesafe methods
the messages don't care what the field is as long as the number and
type are correct. I guess it is conceivable future versions of fix
could change the names or types of the core session fields, but I
don't think it's very likely. Theoretically this could be decoupled
as well, though if any of those fields are missing you don't really
have a FIX session anymore. Perhaps that would be a legitimate thing
to do if you plan on using another transport as made possible by FIX
5.0.
> I can't speak for Alvin, but I've been in several situations where
> I've needed to map domain objects to multiple versions of FIX
> and vice versa.
Oh yeah, me too. In those situations there's a choice about whether
to use compile time type safety or use dynamic logic. Using type
safety requires some more coding, but you have the benefits of the
compiler letting you know when something is wrong. Dynamic code
doesn't give you that, but it allows you to create more compact code
by allowing you to share. I'm not really sure how you can get both
those benefits at the same time. Classic case of dynamic vs compile
time type safety.
> My impression was that Alvin didn't want to give up all type safety,
> but wanted a message representation with more abstractions for common
> aspects of the currently generated message classes. Personally, I
> would just use the message objects directly as you've suggested.
Yeah, I think so to, I'm just not sure how that would be
accomplished. Perhaps an example would be helpful. The problem is
of course that messages change pretty significantly between versions
sometimes. Fields get added, removed, their type changes, groups are
added, groups are modified etc. etc.
Yes. This is what I meant. Personally, I like to gain flexibility and
reusability at the cost of some compile time safety, because as I said
sooner or later how easy users can maintain cross-version code base will
become a problem/concern. So it will either be a QF(J) maintainability
issue or client code maintainability issue. We may get rid of version in
package structure. and specify version number in constructor and use
(internal) validation method to guarantee the integrity and consistency
with the FIX spec. So there will still be an NewOrderSingle class but not
bound to version. (We can even put a NewOrder abstract class on the top to
increase reusability).
Out of topic. BTW, it will be very nice to have a
Message.getInstance(String strMessage) method to convert a string msg to
corresponding message object like NewOrderSingle (not just the plain
message object)
Just my 2 cents. I have not got chance to think through everything yet. and
i agree/understand this will easy to say that to do.
Alvin
Groups are actually a case where you can take advantage of some
sharing. If groups have not significantly changed between versions,
their is no reason you cannot call addGroup on a FIX.4.2 messages or
a FIX.4.4 message with the same generated group object. Making
components into objects might be helpful in this regard as well.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Quickfixj-users mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
*******************************************************************************
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
*******************************************************************************
|
|
From: Steve B. <st...@te...> - 2006-11-16 22:19:24
|
> Out of topic. BTW, it will be very nice to have a > Message.getInstance(String strMessage) method to convert a string msg to > corresponding message object like NewOrderSingle (not just the plain > message object) In addition to Brad's suggestion, you can also construct a message subtype instance directly and call Message.fromString(msg). See the implementation of MessageUtils.parse, for an example. In the example you provided you were parsing the message string into a generic Message object. You can also use the Message constructors for that purpose. Steve |
|
From: Alvin W. <AW...@FF...> - 2006-11-10 14:52:27
|
I tried to use "new Group(field, delim, new int[] { delim })" that you
recommended, in QF's Java wrapper, I got an crash as below:
=================================================================
An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at
PC=0x75BF1DA
Function=[Unknown.]
Library=C:\dev\quickfix\lib\quickfix_jni.dll
NOTE: We are unable to locate the function name symbol for the error
just occurred. Please refer to release documentation for possible
reason and solutions.
Current Java thread:
at quickfix.Group.create(Native Method)
at quickfix.Group.<init>(Unknown Source)
......
Dynamic libraries:
0x00400000 - 0x00407000 C:\JBuilderX\jdk1.4\bin\javaw.exe
0x7C900000 - 0x7C9B0000 C:\WINDOWS\system32\ntdll.dll
0x7C800000 - 0x7C8F4000 C:\WINDOWS\system32\kernel32.dll
0x77DD0000 - 0x77E6B000 C:\WINDOWS\system32\ADVAPI32.dll
0x77E70000 - 0x77F01000 C:\WINDOWS\system32\RPCRT4.dll
0x77D40000 - 0x77DD0000 C:\WINDOWS\system32\USER32.dll
0x77F10000 - 0x77F57000 C:\WINDOWS\system32\GDI32.dll
0x77C10000 - 0x77C68000 C:\WINDOWS\system32\MSVCRT.dll
0x76390000 - 0x763AD000 C:\WINDOWS\system32\IMM32.DLL
0x629C0000 - 0x629C9000 C:\WINDOWS\system32\LPK.DLL
0x74D90000 - 0x74DFB000 C:\WINDOWS\system32\USP10.dll
0x08000000 - 0x08136000 C:\JBuilderX\jdk1.4\jre\bin\client\jvm.dll
0x76B40000 - 0x76B6D000 C:\WINDOWS\system32\WINMM.dll
0x10000000 - 0x10007000 C:\JBuilderX\jdk1.4\jre\bin\hpi.dll
0x00940000 - 0x0094E000 C:\JBuilderX\jdk1.4\jre\bin\verify.dll
0x00950000 - 0x00968000 C:\JBuilderX\jdk1.4\jre\bin\java.dll
0x00970000 - 0x0097D000 C:\JBuilderX\jdk1.4\jre\bin\zip.dll
0x02C60000 - 0x02C7C000 C:\JBuilderX\jdk1.4\jre\bin\jdwp.dll
0x06C80000 - 0x06C85000 C:\JBuilderX\jdk1.4\jre\bin\dt_socket.dll
0x71AB0000 - 0x71AC7000 C:\WINDOWS\system32\ws2_32.dll
0x71AA0000 - 0x71AA8000 C:\WINDOWS\system32\WS2HELP.dll
0x71A50000 - 0x71A8F000 C:\WINDOWS\System32\mswsock.dll
0x76F20000 - 0x76F47000 C:\WINDOWS\system32\DNSAPI.dll
0x76FB0000 - 0x76FB8000 C:\WINDOWS\System32\winrnr.dll
0x76F60000 - 0x76F8C000 C:\WINDOWS\system32\WLDAP32.dll
0x76FC0000 - 0x76FC6000 C:\WINDOWS\system32\rasadhlp.dll
0x662B0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll
0x71A90000 - 0x71A98000 C:\WINDOWS\System32\wshtcpip.dll
0x07520000 - 0x07664000 C:\dev\quickfix\lib\quickfix_jni.dll
0x774E0000 - 0x7761D000 C:\WINDOWS\system32\ole32.dll
0x77120000 - 0x771AC000 C:\WINDOWS\system32\OLEAUT32.dll
0x76080000 - 0x760E5000 C:\WINDOWS\system32\MSVCP60.dll
0x07670000 - 0x07778000 C:\dev\quickfix\lib\LIBMYSQL.dll
0x71AD0000 - 0x71AD9000 C:\WINDOWS\system32\WSOCK32.dll
0x76FD0000 - 0x7704F000 C:\WINDOWS\system32\CLBCATQ.DLL
0x77050000 - 0x77115000 C:\WINDOWS\system32\COMRes.dll
0x77C00000 - 0x77C08000 C:\WINDOWS\system32\VERSION.dll
0x07AA0000 - 0x07AAF000 C:\JBuilderX\jdk1.4\jre\bin\net.dll
0x07AB0000 - 0x07AB8000 C:\JBuilderX\jdk1.4\jre\bin\nio.dll
0x07FE0000 - 0x07FE5000 C:\JBuilderX\jdk1.4\jre\bin\rmi.dll
0x77B40000 - 0x77B62000 C:\WINDOWS\system32\Apphelp.dll
0x76C90000 - 0x76CB8000 C:\WINDOWS\system32\imagehlp.dll
0x59A60000 - 0x59B01000 C:\WINDOWS\system32\DBGHELP.dll
0x76BF0000 - 0x76BFB000 C:\WINDOWS\system32\PSAPI.DLL
Heap at VM Abort:
Heap
def new generation total 576K, used 124K [0x10010000, 0x100b0000,
0x104f0000)
eden space 512K, 22% used [0x10010000, 0x1002cfd0, 0x10090000)
from space 64K, 12% used [0x100a0000, 0x100a20d0, 0x100b0000)
to space 64K, 0% used [0x10090000, 0x10090000, 0x100a0000)
tenured generation total 2028K, used 1350K [0x104f0000, 0x106eb000,
0x14010000)
the space 2028K, 66% used [0x104f0000, 0x10641aa0, 0x10641c00,
0x106eb000)
compacting perm gen total 12288K, used 12134K [0x14010000, 0x14c10000,
0x18010000)
the space 12288K, 98% used [0x14010000, 0x14be9aa0, 0x14be9c00,
0x14c10000)
Local Time = Fri Nov 10 09:45:37 2006
Elapsed Time = 571
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode)
#
# An error report file has been saved as hs_err_pid4488.log.
# Please refer to the file for further information.
#
"Steve Bate"
<steve@technoetic
.com> To
Sent by: <qui...@li....
quickfixj-users-b net>
ou...@li... cc
ceforge.net
Subject
Re: [Quickfixj-users] repeating
11/07/2006 08:28 group problem
PM
Please respond to
quickfixj-users@l
ists.sourceforge.
net
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
> The reason I do not want to use NewOrderSingle.NoPartyIDs is that my
order
> object can be either a NewOrderSingle or NewOrderMultileg. Not sure if I
> can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg object?
> Could you clarify? Just wonder why there is not an abstract class sitting
> on the top like GeneralOrder which can enclose some common fields or
> classes like NoPartyIDs?
The messages correspond directly to the FIX specification.
You don't necessarily need a new build. Have you tried using the
Group(int field, int delim, int[] order) constructor in 1.0.4?
The only change I made was to make Group(field, delim) call
Group(field, delim, new int[] { delim }). Better yet, you'll
be safer if you include all the tags in the integer array in
the correct order. However, like Oren said, many FIX engines
will not enforce the order of the non-delimeter tags.
Steve
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Quickfixj-users mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
*******************************************************************************
This e-mail message is intended solely for the use of the addressee.
The message may contain information that is privileged and
confidential.
Disclosure to anyone other than the intended recipient is prohibited.
If you are not the intended recipient, please do not disseminate,
distribute or copy this communication, by e-mail or otherwise. Instead,
please notify us immediately by return e-mail(including the original
message with your reply) and then delete and discard all copies of the
message. We have taken precautions to minimize the risk of transmitting
software viruses but nevertheless advise you to carry out your own
virus checks on any attachment to this message. We accept
no liability for any loss or damage caused by software viruses.
*******************************************************************************
|
|
From: <st...@te...> - 2006-11-10 15:12:12
|
Alvin,
The goal of QF API compatibility with QFJ is that code written for the QF
JNI wrapper can run in QFJ, but there is no guarantee in the other
direction. It will generally not work to compile code with QFJ and then
try to use the QF native libraries to run it. Similarly, the QFJ source
will usually not even compile with the QF Java library (if you have used
any extensions to QF). Again, the compatibility is only maintained from QF
to QFJ.
Any suggestions I make for Java API usage are strictly for QFJ unless I
specifically that it should work with QF too. Even then, you should
recompile the code with the QF libraries before running it with the QF
native libraries in case there are other issues.
Steve
> I tried to use "new Group(field, delim, new int[] { delim })" that you
> recommended, in QF's Java wrapper, I got an crash as below:
|
|
From: Oren M. <or...@qu...> - 2006-11-10 16:19:06
|
Alvin, try this instead...
new Group(field, delim, new int[] { delim, 0 })
The 0 is there because the C++ method uses the ... argument which
needs a signal to determine when the last value has been reached. 0
is used for this purpose. We should be able to update the jni
library to make this implicit in the future so you don't need to
specify the 0 itself. The trailing 0 also shouldn't cause problems
in QuickFIX/J, let me know if I'm wrong about that Steve.
--oren
On Nov 10, 2006, at 8:52 AM, Alvin Wang wrote:
> I tried to use "new Group(field, delim, new int[] { delim })" that you
> recommended, in QF's Java wrapper, I got an crash as below:
>
> =================================================================
> An unexpected exception has been detected in native code outside
> the VM.
> Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005)
> occurred at
> PC=0x75BF1DA
> Function=[Unknown.]
> Library=C:\dev\quickfix\lib\quickfix_jni.dll
>
> NOTE: We are unable to locate the function name symbol for the error
> just occurred. Please refer to release documentation for
> possible
> reason and solutions.
>
>
> Current Java thread:
> at quickfix.Group.create(Native Method)
> at quickfix.Group.<init>(Unknown Source)
> ......
>
> Dynamic libraries:
> 0x00400000 - 0x00407000 C:\JBuilderX\jdk1.4\bin\javaw.exe
> 0x7C900000 - 0x7C9B0000 C:\WINDOWS\system32\ntdll.dll
> 0x7C800000 - 0x7C8F4000 C:\WINDOWS\system32\kernel32.dll
> 0x77DD0000 - 0x77E6B000 C:\WINDOWS\system32\ADVAPI32.dll
> 0x77E70000 - 0x77F01000 C:\WINDOWS\system32\RPCRT4.dll
> 0x77D40000 - 0x77DD0000 C:\WINDOWS\system32\USER32.dll
> 0x77F10000 - 0x77F57000 C:\WINDOWS\system32\GDI32.dll
> 0x77C10000 - 0x77C68000 C:\WINDOWS\system32\MSVCRT.dll
> 0x76390000 - 0x763AD000 C:\WINDOWS\system32\IMM32.DLL
> 0x629C0000 - 0x629C9000 C:\WINDOWS\system32\LPK.DLL
> 0x74D90000 - 0x74DFB000 C:\WINDOWS\system32\USP10.dll
> 0x08000000 - 0x08136000 C:\JBuilderX\jdk1.4\jre\bin\client
> \jvm.dll
> 0x76B40000 - 0x76B6D000 C:\WINDOWS\system32\WINMM.dll
> 0x10000000 - 0x10007000 C:\JBuilderX\jdk1.4\jre\bin\hpi.dll
> 0x00940000 - 0x0094E000 C:\JBuilderX\jdk1.4\jre\bin\verify.dll
> 0x00950000 - 0x00968000 C:\JBuilderX\jdk1.4\jre\bin\java.dll
> 0x00970000 - 0x0097D000 C:\JBuilderX\jdk1.4\jre\bin\zip.dll
> 0x02C60000 - 0x02C7C000 C:\JBuilderX\jdk1.4\jre\bin\jdwp.dll
> 0x06C80000 - 0x06C85000 C:\JBuilderX\jdk1.4\jre\bin
> \dt_socket.dll
> 0x71AB0000 - 0x71AC7000 C:\WINDOWS\system32\ws2_32.dll
> 0x71AA0000 - 0x71AA8000 C:\WINDOWS\system32\WS2HELP.dll
> 0x71A50000 - 0x71A8F000 C:\WINDOWS\System32\mswsock.dll
> 0x76F20000 - 0x76F47000 C:\WINDOWS\system32\DNSAPI.dll
> 0x76FB0000 - 0x76FB8000 C:\WINDOWS\System32\winrnr.dll
> 0x76F60000 - 0x76F8C000 C:\WINDOWS\system32\WLDAP32.dll
> 0x76FC0000 - 0x76FC6000 C:\WINDOWS\system32\rasadhlp.dll
> 0x662B0000 - 0x66308000 C:\WINDOWS\system32\hnetcfg.dll
> 0x71A90000 - 0x71A98000 C:\WINDOWS\System32\wshtcpip.dll
> 0x07520000 - 0x07664000 C:\dev\quickfix\lib\quickfix_jni.dll
> 0x774E0000 - 0x7761D000 C:\WINDOWS\system32\ole32.dll
> 0x77120000 - 0x771AC000 C:\WINDOWS\system32\OLEAUT32.dll
> 0x76080000 - 0x760E5000 C:\WINDOWS\system32\MSVCP60.dll
> 0x07670000 - 0x07778000 C:\dev\quickfix\lib\LIBMYSQL.dll
> 0x71AD0000 - 0x71AD9000 C:\WINDOWS\system32\WSOCK32.dll
> 0x76FD0000 - 0x7704F000 C:\WINDOWS\system32\CLBCATQ.DLL
> 0x77050000 - 0x77115000 C:\WINDOWS\system32\COMRes.dll
> 0x77C00000 - 0x77C08000 C:\WINDOWS\system32\VERSION.dll
> 0x07AA0000 - 0x07AAF000 C:\JBuilderX\jdk1.4\jre\bin\net.dll
> 0x07AB0000 - 0x07AB8000 C:\JBuilderX\jdk1.4\jre\bin\nio.dll
> 0x07FE0000 - 0x07FE5000 C:\JBuilderX\jdk1.4\jre\bin\rmi.dll
> 0x77B40000 - 0x77B62000 C:\WINDOWS\system32\Apphelp.dll
> 0x76C90000 - 0x76CB8000 C:\WINDOWS\system32\imagehlp.dll
> 0x59A60000 - 0x59B01000 C:\WINDOWS\system32\DBGHELP.dll
> 0x76BF0000 - 0x76BFB000 C:\WINDOWS\system32\PSAPI.DLL
>
> Heap at VM Abort:
> Heap
> def new generation total 576K, used 124K [0x10010000, 0x100b0000,
> 0x104f0000)
> eden space 512K, 22% used [0x10010000, 0x1002cfd0, 0x10090000)
> from space 64K, 12% used [0x100a0000, 0x100a20d0, 0x100b0000)
> to space 64K, 0% used [0x10090000, 0x10090000, 0x100a0000)
> tenured generation total 2028K, used 1350K [0x104f0000, 0x106eb000,
> 0x14010000)
> the space 2028K, 66% used [0x104f0000, 0x10641aa0, 0x10641c00,
> 0x106eb000)
> compacting perm gen total 12288K, used 12134K [0x14010000,
> 0x14c10000,
> 0x18010000)
> the space 12288K, 98% used [0x14010000, 0x14be9aa0, 0x14be9c00,
> 0x14c10000)
>
> Local Time = Fri Nov 10 09:45:37 2006
> Elapsed Time = 571
> #
> # The exception above was detected in native code outside the VM
> #
> # Java VM: Java HotSpot(TM) Client VM (1.4.2_01-b06 mixed mode)
> #
> # An error report file has been saved as hs_err_pid4488.log.
> # Please refer to the file for further information.
> #
>
>
>
>
>
> "Steve Bate"
> <steve@technoetic
> .com>
> To
> Sent by: <quickfixj-
> us...@li....
> quickfixj-users-b net>
>
> ou...@li... cc
> ceforge.net
>
> Subject
> Re: [Quickfixj-users] repeating
> 11/07/2006 08:28 group problem
> PM
>
>
> Please respond to
> quickfixj-users@l
> ists.sourceforge.
> net
>
>
>
>
>
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
>> The reason I do not want to use NewOrderSingle.NoPartyIDs is that my
> order
>> object can be either a NewOrderSingle or NewOrderMultileg. Not
>> sure if I
>> can add a NewOrderSingle.NoPartyIDs object to a NewOrderMultileg
>> object?
>> Could you clarify? Just wonder why there is not an abstract class
>> sitting
>> on the top like GeneralOrder which can enclose some common fields or
>> classes like NoPartyIDs?
>
> The messages correspond directly to the FIX specification.
>
> You don't necessarily need a new build. Have you tried using the
> Group(int field, int delim, int[] order) constructor in 1.0.4?
> The only change I made was to make Group(field, delim) call
> Group(field, delim, new int[] { delim }). Better yet, you'll
> be safer if you include all the tags in the integer array in
> the correct order. However, like Oren said, many FIX engines
> will not enforce the order of the non-delimeter tags.
>
> Steve
>
>
>
> ----------------------------------------------------------------------
> ---
> Using Tomcat but need to do more? Need to support web services,
> security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> http://sel.as-us.falkag.net/sel?
> cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Quickfixj-users mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
>
>
>
> **********************************************************************
> *********
> This e-mail message is intended solely for the use of the addressee.
> The message may contain information that is privileged and
> confidential.
> Disclosure to anyone other than the intended recipient is prohibited.
> If you are not the intended recipient, please do not disseminate,
> distribute or copy this communication, by e-mail or otherwise.
> Instead,
> please notify us immediately by return e-mail(including the original
> message with your reply) and then delete and discard all copies of the
> message. We have taken precautions to minimize the risk of
> transmitting
> software viruses but nevertheless advise you to carry out your own
> virus checks on any attachment to this message. We accept
> no liability for any loss or damage caused by software viruses.
> **********************************************************************
> *********
>
>
>
> ----------------------------------------------------------------------
> ---
> Using Tomcat but need to do more? Need to support web services,
> security?
> Get stuff done quickly with pre-integrated technology to make your
> job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache
> Geronimo
> http://sel.as-us.falkag.net/sel?
> cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Quickfixj-users mailing list
> Qui...@li...
> https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
|
|
From: <st...@te...> - 2006-11-10 18:50:25
|
> The 0 is there because the C++ method uses the ... argument which > needs a signal to determine when the last value has been reached. 0 > is used for this purpose. We should be able to update the jni > library to make this implicit in the future so you don't need to > specify the 0 itself. The trailing 0 also shouldn't cause problems > in QuickFIX/J, let me know if I'm wrong about that Steve. That's correct. No zero is needed in QFJ, although I don't think it causes a problem to include it. Steve |