You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(13) |
Jun
(21) |
Jul
(14) |
Aug
(29) |
Sep
(39) |
Oct
(47) |
Nov
(70) |
Dec
(27) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(43) |
Feb
(50) |
Mar
(90) |
Apr
(96) |
May
(84) |
Jun
(40) |
Jul
(58) |
Aug
(55) |
Sep
(55) |
Oct
(52) |
Nov
(38) |
Dec
(75) |
| 2008 |
Jan
(49) |
Feb
(72) |
Mar
(49) |
Apr
(55) |
May
(21) |
Jun
(31) |
Jul
(47) |
Aug
(59) |
Sep
(59) |
Oct
(77) |
Nov
(51) |
Dec
(54) |
| 2009 |
Jan
(52) |
Feb
(57) |
Mar
(17) |
Apr
(27) |
May
(44) |
Jun
(46) |
Jul
(69) |
Aug
(38) |
Sep
(39) |
Oct
(45) |
Nov
(38) |
Dec
(37) |
| 2010 |
Jan
(49) |
Feb
(35) |
Mar
(21) |
Apr
(33) |
May
(52) |
Jun
(28) |
Jul
(39) |
Aug
(34) |
Sep
(21) |
Oct
(82) |
Nov
(36) |
Dec
(20) |
| 2011 |
Jan
(28) |
Feb
(64) |
Mar
(93) |
Apr
(75) |
May
(151) |
Jun
(77) |
Jul
(35) |
Aug
(53) |
Sep
(56) |
Oct
(36) |
Nov
(94) |
Dec
(59) |
| 2012 |
Jan
(105) |
Feb
(43) |
Mar
(68) |
Apr
(91) |
May
(45) |
Jun
(18) |
Jul
(103) |
Aug
(77) |
Sep
(45) |
Oct
(59) |
Nov
(58) |
Dec
(43) |
| 2013 |
Jan
(48) |
Feb
(65) |
Mar
(63) |
Apr
(22) |
May
(41) |
Jun
(60) |
Jul
(43) |
Aug
(17) |
Sep
(20) |
Oct
(20) |
Nov
(42) |
Dec
(43) |
| 2014 |
Jan
(54) |
Feb
(34) |
Mar
(34) |
Apr
(20) |
May
(31) |
Jun
(39) |
Jul
(66) |
Aug
(22) |
Sep
(52) |
Oct
(22) |
Nov
(67) |
Dec
(70) |
| 2015 |
Jan
(18) |
Feb
(5) |
Mar
(40) |
Apr
(32) |
May
(62) |
Jun
(28) |
Jul
(86) |
Aug
(44) |
Sep
(61) |
Oct
(65) |
Nov
(8) |
Dec
(19) |
| 2016 |
Jan
(50) |
Feb
(22) |
Mar
(38) |
Apr
(55) |
May
(30) |
Jun
(42) |
Jul
(11) |
Aug
(9) |
Sep
(4) |
Oct
(51) |
Nov
(38) |
Dec
(31) |
| 2017 |
Jan
(40) |
Feb
(40) |
Mar
(23) |
Apr
(35) |
May
(121) |
Jun
(55) |
Jul
(37) |
Aug
(16) |
Sep
(27) |
Oct
(109) |
Nov
(67) |
Dec
(23) |
| 2018 |
Jan
(52) |
Feb
(6) |
Mar
(23) |
Apr
(28) |
May
(32) |
Jun
(20) |
Jul
(20) |
Aug
(22) |
Sep
(8) |
Oct
(33) |
Nov
(32) |
Dec
(13) |
| 2019 |
Jan
(16) |
Feb
(29) |
Mar
(17) |
Apr
(16) |
May
(1) |
Jun
(2) |
Jul
(25) |
Aug
(50) |
Sep
(17) |
Oct
(29) |
Nov
(16) |
Dec
(7) |
| 2020 |
Jan
|
Feb
|
Mar
(29) |
Apr
(64) |
May
(25) |
Jun
(49) |
Jul
(15) |
Aug
(10) |
Sep
(37) |
Oct
(20) |
Nov
(19) |
Dec
(9) |
| 2021 |
Jan
(33) |
Feb
(10) |
Mar
(67) |
Apr
(40) |
May
(70) |
Jun
(33) |
Jul
(14) |
Aug
(10) |
Sep
|
Oct
(7) |
Nov
(6) |
Dec
(16) |
| 2022 |
Jan
(27) |
Feb
(2) |
Mar
(5) |
Apr
(3) |
May
|
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(6) |
Oct
(2) |
Nov
|
Dec
(10) |
| 2023 |
Jan
(1) |
Feb
(2) |
Mar
(21) |
Apr
(3) |
May
(15) |
Jun
(3) |
Jul
(4) |
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
(1) |
| 2024 |
Jan
(7) |
Feb
(2) |
Mar
(8) |
Apr
(11) |
May
(6) |
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
|
Dec
|
| 2025 |
Jan
(10) |
Feb
(4) |
Mar
(9) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Nick F. <ni...@ox...> - 2007-06-15 12:23:50
|
I'd guess this might be becoming an FAQ, but I can't find an answer anywhere. I've got an application that is likely to be reasonably long running, say a week, before being reset. Logging messages is nice and easy, just plug in an appropriate log4j configuration file and I can have all the rolling logs i want. However I can't see a similar way of dealing with MessageStore. I suspect that for fix resend purposes i'll never need more than the last 10 minutes of messages. Is there a standard MessageStore implementation that either just forgets older messages, or a way of getting FileStore to roll old messages over (say every day)? This would allow old messages to be archived or deleted without affecting a running app. If not, would such a message store be a useful addition to the codebase? I'm thinking of a MemoryStore with a time limit threshold, or a FileStore with various rolling configuration options similar to log4j. Nick |
|
From: Tommy H. <th...@bo...> - 2007-06-14 17:58:27
|
Jorg, Thank you for your reply. So, even when using the =20 ThreadedSocket...tor() approach, there is only one thread per session =20= that handles both the network I/O and the fromApp(...) callback. =20 Correct? On Jun 14, 2007, at 12:40 PM, Joerg Thoennes wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi Tommy, > > some time ago there was an issue with cross-blocking threads for a =20 > FIX bridge sending messages forth > and back between two sessions directly in the fromApp(). > > There is no extra queuing in QF/J, but I know that there have been =20 > some changes to split larger > critical sections to smaller ones to reduce the chance of deadlocking. > > Cheers, J=F6rg > > On 06/14/07 18:59, Tommy Hannon wrote: >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> I am using threaded initiators and acceptors along with the message >> cracker... >> >> When processing inside an onMessage(...) method, and presumably >> indirectly the fromApp(...) method, am I blocking incoming messages >> or is there a separate thread "queueing" the incoming messages for >> either the fromApp(...) or onMessage(...)? >> >> Is it okay to send outgoing messages inside an onMessage(...) >> callback or should this be done in a separate thread? >> >> Does anybody recommend best practices for this callback processing? >> >> ---------------------------------------------------------------------=20= >> ---- >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > > --=20 > Joerg Thoennes > http://www.macd.com Tel.: +49 (0)241 44597-24 > Macdonald Associates GmbH Gesch=E4ftsf=FChrer: Roger = Macdonald > Lothringer Str. 52, D-52070 Aachen Amtsgericht Aachen, HRB 8151, =20 > Ust.-Id DE813021663 > > ----------------------------------------------------------------------=20= > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: Joerg T. <Joe...@ma...> - 2007-06-14 17:40:59
|
Hi Tommy, some time ago there was an issue with cross-blocking threads for a FIX bridge sending messages forth and back between two sessions directly in the fromApp(). There is no extra queuing in QF/J, but I know that there have been some changes to split larger critical sections to smaller ones to reduce the chance of deadlocking. Cheers, Jörg On 06/14/07 18:59, Tommy Hannon wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > I am using threaded initiators and acceptors along with the message > cracker... > > When processing inside an onMessage(...) method, and presumably > indirectly the fromApp(...) method, am I blocking incoming messages > or is there a separate thread "queueing" the incoming messages for > either the fromApp(...) or onMessage(...)? > > Is it okay to send outgoing messages inside an onMessage(...) > callback or should this be done in a separate thread? > > Does anybody recommend best practices for this callback processing? > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users -- Joerg Thoennes http://www.macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Geschäftsführer: Roger Macdonald Lothringer Str. 52, D-52070 Aachen Amtsgericht Aachen, HRB 8151, Ust.-Id DE813021663 |
|
From: Tommy H. <th...@bo...> - 2007-06-14 16:59:10
|
I am using threaded initiators and acceptors along with the message cracker... When processing inside an onMessage(...) method, and presumably indirectly the fromApp(...) method, am I blocking incoming messages or is there a separate thread "queueing" the incoming messages for either the fromApp(...) or onMessage(...)? Is it okay to send outgoing messages inside an onMessage(...) callback or should this be done in a separate thread? Does anybody recommend best practices for this callback processing? |
|
From: Steve B. <st...@te...> - 2007-06-12 01:57:38
|
> t.s. wrote: > As per the subject, i'm wondering about QuickfixJ reconnection policy > (for initiators). Suppose an Initiator got disconnected (for whatever > reason: network problems, power problems, hardware problems, > acceptor/server maintenance, etc), what's gonna happen next ? A QFJ initiator will periodically attempt to reconnect. Once a connection is established, the initiator will attempt to login with the counterparty. You can see this behavior with the Banzai (client) and Executor (server) examples in the QFJ distribution. Start Banzai first and you will see it trying to connect periodically. Start the Executor and you will see Banzai connect. Stop the executor and Banzai will start trying to connect again. > There were mentions about 'ReconnectInterval' parameter in the config > file; does it mean that the initiator will retry to reconnect > indefinitely? Is the mechanism reliable ? Yes, it will reconnect indefinitely. And it's reliable as far as I know. What problems were you experiencing? > I couldn't make it work (with a third party server, so i don't know much > about the implementation details on their side) during my earlier tests, > so i resorted to using a background thread to create another instance of > the initiator when it detected any problems with the current one. This > approach worked fine so far, with a rather nasty catch. I strongly recommend using the built-in reconnection capabilities instead of this approach. It might work to some extent, but the initiators are not designed to be used this way. Steve |
|
From: Oren M. <or...@qu...> - 2007-06-11 19:07:22
|
The Price field is 44. 31 is LastPx. --oren On Jun 11, 2007, at 1:55 PM, stacyann_1 wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > I'm getting a FieldNotFound exception when the Field does appear to =20= > be in the > FIX message. Currently it is throwing this exception on the =20 > following code: > > Price price =3D new Price(); > > quickFixMessage_.getField(price); //exception thrown.. > > The quickfix message has Tag 31, here is an excerpt: > 8=3DFIX.=20 > 4.4=019=3D0470=0135=3D8=0149=3DB=0156=3DG=0134=3D193=01128=3DZERO=01115=3D= i.a2340u=0152=3D20070611-18:=20 > 47:17=0160=3D20070611-18:47:17=01150=3DF=011=3DTESTACCT=0131=3D100=01151= =3D0=0132=3D100000=01423=20 > =3D1=01 > > The exception starts like this:INFO: DeConversationalContext for > conversation 06-058-20070611-0000000000 will be 34097.NY_CEX.27527.1 > quickfix.FieldNotFound > at quickfix.FieldMap.getField(FieldMap.java:200) > at quickfix.FieldMap.getField(FieldMap.java:363) > at = mbw.MbwTradeWrapper.createPostTradeInput(MbwTradeWrapper.java:104) > > Anyone have any ideas? > Thanks, > Stacy > > --=20 > View this message in context: http://www.nabble.com/Field-Not-Found-=20= > Confusion-tf3903279.html#a11066359 > Sent from the QuickFIX/J mailing list archive at Nabble.com. > > > ----------------------------------------------------------------------=20= > --- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > |
|
From: stacyann_1 <sta...@gs...> - 2007-06-11 18:56:00
|
I'm getting a FieldNotFound exception when the Field does appear to be in t= he FIX message. Currently it is throwing this exception on the following code: Price price =3D new Price(); quickFixMessage_.getField(price); //exception thrown.. The quickfix message has Tag 31, here is an excerpt: 8=3DFIX.4.4=019=3D0470=0135=3D8=0149=3DB=0156=3DG=0134=3D193=01128=3DZERO= =01115=3Di.a2340u=0152=3D20070611-18:47:17=0160=3D20070611-18:47:17=01150= =3DF=011=3DTESTACCT=0131=3D100=01151=3D0=0132=3D100000=01423=3D1=01 The exception starts like this:INFO: DeConversationalContext for conversation 06-058-20070611-0000000000 will be 34097.NY_CEX.27527.1 quickfix.FieldNotFound =09at quickfix.FieldMap.getField(FieldMap.java:200) =09at quickfix.FieldMap.getField(FieldMap.java:363) =09at mbw.MbwTradeWrapper.createPostTradeInput(MbwTradeWrapper.java:104) Anyone have any ideas? Thanks, Stacy --=20 View this message in context: http://www.nabble.com/Field-Not-Found-Confusi= on-tf3903279.html#a11066359 Sent from the QuickFIX/J mailing list archive at Nabble.com. |
|
From: Robert M. <rob...@eu...> - 2007-06-11 08:17:56
|
If you want to implement a re-connection strategy using FileStore,
you'll have to cleanup the files yourself. Quickfix doesn't close its
message files or log files when you do initiator.stop().
I got round this by casting
MessageStore store =3D session.getStore();
if (store instanceof FileStore) {
((FileStore) store).closeFiles();
}
=20
However for log files you will need to implement your own LogFactory and
Log that allows you to close files.
Rob
-----Original Message-----
From: qui...@li...
[mailto:qui...@li...] On Behalf Of t.s.
Sent: 11 June 2007 05:56
To: qui...@li...
Subject: [Quickfixj-users] QuickfixJ Initiator reconnection policy &
SeqNumResets
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
Hello again, everyone :)
As per the subject, i'm wondering about QuickfixJ reconnection policy
(for initiators). Suppose an Initiator got disconnected (for whatever
reason: network problems, power problems, hardware problems,
acceptor/server maintenance, etc), what's gonna happen next ?
There were mentions about 'ReconnectInterval' parameter in the config
file; does it mean that the initiator will retry to reconnect
indefinitely? Is the mechanism reliable ?
I couldn't make it work (with a third party server, so i don't know much
about the implementation details on their side) during my earlier tests,
so i resorted to using a background thread to create another instance of
the initiator when it detected any problems with the current one. This
approach worked fine so far, with a rather nasty catch.
This morning, the initiator failed to reconnect after the normal
maintenance downtime during the weekend. Apparently the server/acceptor
did a seqnum reset during the maintenance period since the log contains
errors similar to these :
...
quickfix.SessionException MsgSeqNum too low,
expecting 1793530 but received 11797
...
Then i found some configuration parameters ('ResetOnDisconnect' and
'ResetOnLogout') which seems to be the answer, but enabling this on my
current implementation gave several 'File Delete Failed' error messages,
probably because the file is still open/used at this time.
So, after the long rambling, i suppose the question is: How do i reset
the seqnum ? :) Or am i supposed to use something other than a FileStore
?
Thanks in advance,
regards,
t.s.
PS: I found an older thread about something similar from a couple of
weeks ago, with the subject of "Initiator.Stop leaves file handles open
when using FileStore", but i'm not sure i understand the conclusion...
------------------------------------------------------------------------
-
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Quickfixj-users mailing list
Qui...@li...
https://lists.sourceforge.net/lists/listinfo/quickfixj-users
Eurobase International Limited and its subsidiaries (Eurobase) are =
unable to exercise control over the content of information in E-Mails. =
Any views and opinions expressed may be personal to the sender and are =
not necessarily those of Eurobase. Eurobase will not enter into any =
contractual obligations in respect of any part of its business in any =
E-mail.=20
Privileged / confidential information may be contained in this message =
and /or any attachments. This E-mail is intended for the use of the =
addressee(s) only and may contain confidential information. If you are =
not the / an intended recipient, you are hereby notified that any use or =
dissemination of this communication is strictly prohibited. If you =
receive this transmission in error, please notify us immediately, and =
then delete this E-mail.=20
Neither the sender nor Eurobase accepts any liability whatsoever for any =
defects of any kind either in or arising from this E-mail transmission. =
E-Mail transmission cannot be guaranteed to be secure or error-free, as =
messages can be intercepted, lost, corrupted, destroyed, contain =
viruses, or arrive late or incomplete. Eurobase does not accept any =
responsibility for viruses and it is your responsibility to scan any =
attachments.
Eurobase Systems Limited is the main trading company in the Eurobase =
International Group; registered in England and Wales as company number =
02251162; registered address: Essex House, 2 County Place, Chelmsford, =
Essex CM2 0RE, UK.
|
|
From: Alvin W. <AW...@FF...> - 2007-06-11 08:01:54
|
I will be out of the office starting 06/08/2007 and will not return until
06/19/2007.
*******************************************************************************
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: t.s. <tru...@cb...> - 2007-06-11 05:00:48
|
Hello again, everyone :)
As per the subject, i'm wondering about QuickfixJ reconnection policy
(for initiators). Suppose an Initiator got disconnected (for whatever
reason: network problems, power problems, hardware problems,
acceptor/server maintenance, etc), what's gonna happen next ?
There were mentions about 'ReconnectInterval' parameter in the config
file; does it mean that the initiator will retry to reconnect
indefinitely? Is the mechanism reliable ?
I couldn't make it work (with a third party server, so i don't know much
about the implementation details on their side) during my earlier tests,
so i resorted to using a background thread to create another instance of
the initiator when it detected any problems with the current one. This
approach worked fine so far, with a rather nasty catch.
This morning, the initiator failed to reconnect after the normal
maintenance downtime during the weekend. Apparently the server/acceptor
did a seqnum reset during the maintenance period since the log contains
errors similar to these :
...
quickfix.SessionException MsgSeqNum too low,
expecting 1793530 but received 11797
...
Then i found some configuration parameters ('ResetOnDisconnect' and
'ResetOnLogout') which seems to be the answer, but enabling this on my
current implementation gave several 'File Delete Failed' error messages,
probably because the file is still open/used at this time.
So, after the long rambling, i suppose the question is: How do i reset
the seqnum ? :) Or am i supposed to use something other than a FileStore ?
Thanks in advance,
regards,
t.s.
PS: I found an older thread about something similar from a couple of
weeks ago, with the subject of "Initiator.Stop leaves file handles open
when using FileStore", but i'm not sure i understand the conclusion...
|
|
From: Toli K. <to...@ma...> - 2007-06-06 18:08:01
|
Nick, That's a great suggestion. It's actually not that easy to do the formatting directly in code-generating XSLT, but we can run an ant task on it afterwards to do it. Is there anything other than Jalopy that people have used before? i've created an RFE for this, so post your comments there: http://www.quickfixj.org/jira/browse/QFJ-192 On 6/6/07, Nick Fortescue <ni...@ox...> wrote: > > Thanks very much. A suggestion which might reduce the number of stupid > questions from foolish people like me. Could the code to generate these > classes from the spec be changed to adjust the indentation so that methods > in nested classes look nested? -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: Nick F. <ni...@ox...> - 2007-06-06 13:06:57
|
Thanks very much. A suggestion which might reduce the number of stupid questions from foolish people like me. Could the code to generate these classes from the spec be changed to adjust the indentation so that methods in nested classes look nested? Nick On 6/6/07, Steve Bate <st...@te...> wrote: > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > > Hi Nick, > > > > The method is in the nested class NoRelatedSym (repeating group). > > > > Steve > > > ------------------------------ > > *From:* qui...@li... [mailto: > qui...@li...] *On Behalf Of *Nick > Fortescue > *Sent:* Wednesday, June 06, 2007 4:44 AM > *To:* qui...@li... > *Subject:* [Quickfixj-users] QuoteRequest.set(QuoteRequestType) and > variousother set methods missing? > > > > Hi all, > > > > I'm sure I'm missing something obvious here. QuoteRequest in the javadoc > on the website (http://www.quickfixj.org/quickfixj/javadoc/quickfix/fix43/QuoteRequest.html > ) doesn't have a method: > > > > public void set(quickfix.field.QuoteRequestType value) > > > > The method is also missing in the quickfix.jar if you download 1.1.0 from > sourceforge. This is true for 4.2, 4.3 and 4.4. > > > > In the source code (downloaded with quickfixj-1.1.0) the method does > exist. Can anyone explain what is going on? I know I can call setField(), > but I was hoping for the typesafe version. > > > > Nick > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > |
|
From: Steve B. <st...@te...> - 2007-06-06 10:38:37
|
Hi Nick, The method is in the nested class NoRelatedSym (repeating group). Steve _____ From: qui...@li... [mailto:qui...@li...] On Behalf Of Nick Fortescue Sent: Wednesday, June 06, 2007 4:44 AM To: qui...@li... Subject: [Quickfixj-users] QuoteRequest.set(QuoteRequestType) and variousother set methods missing? Hi all, I'm sure I'm missing something obvious here. QuoteRequest in the javadoc on the website (http://www.quickfixj.org/quickfixj/javadoc/quickfix/fix43/QuoteRequest.html ) doesn't have a method: public void set(quickfix.field.QuoteRequestType value) The method is also missing in the quickfix.jar if you download 1.1.0 from sourceforge. This is true for 4.2, 4.3 and 4.4. In the source code (downloaded with quickfixj-1.1.0) the method does exist. Can anyone explain what is going on? I know I can call setField(), but I was hoping for the typesafe version. Nick |
|
From: Nick F. <ni...@ox...> - 2007-06-06 08:43:44
|
Hi all, I'm sure I'm missing something obvious here. QuoteRequest in the javadoc on the website ( http://www.quickfixj.org/quickfixj/javadoc/quickfix/fix43/QuoteRequest.html) doesn't have a method: public void set(quickfix.field.QuoteRequestType value) The method is also missing in the quickfix.jar if you download 1.1.0 from sourceforge. This is true for 4.2, 4.3 and 4.4. In the source code (downloaded with quickfixj-1.1.0) the method does exist. Can anyone explain what is going on? I know I can call setField(), but I was hoping for the typesafe version. Nick |
|
From: Toli K. <to...@ma...> - 2007-06-06 01:46:57
|
Hey all, Another best practices question. We have an app that's not keeping any state of recevied messages, and we wanted to have it recover from a crash by sending a ResendRequest and having the destination replay the missing messages. However, QFJ intercepts these replayed duplicate messages and doesn't propagate them up to the application layer (they are discarded in Session.verify(). Any suggestions on how to handle this situation, short of having the app store/persist all the messages locally at the application layer? What's the best way to handle replays/duplicate messages? thanks for advice! -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: <ur...@gm...> - 2007-06-05 17:57:15
|
SGkgQW5zaHUsCgpDYW4geW91IHBvc3QgbW9yZSBvZiB5b3VyIGNvbmZpZz8KCkZyb206IEFuc2h1 IE5hcmFuZyA8YW5zaHVuYXJhbmdAeWEuLi4+IC0JMjAwNy0wNS0wOSAyMzo0NwogCQkJICAgCQkJ IAkJCSAJCQkJIAkJCQkJIAkJCSBIaSAsCgogIEZpcnN0IGxvZ2luIGF0dGVtcHQgb2YgaW5pdGlh dG9yIGFmdGVyIFN0YXJ0VGltZSBpcwogIHJlc3BvbmRlZCB3aXRoIGxvZ291dCAuIFN1YnNlcXVl bnQgbG9nb24gd29yayBmaW5lIC4KICBBbnkgaWRlYSB3aHkgZG9lcyBhY2NlcHRvciBjYWxsIGxv Z291dCBvbiBmaXJzdAogIHJlcXVlc3QgLgoKICBJIGFsc28gbm90aWNlZCB0aGF0IGxvZ291dCBo YXMgdGhlIG9sZCBzZXF1ZW5jZSBudW1iZXIKICAuCgogID09PT09PT09PT09PT09PT09PT0gRml4 IExvZ3MgPT09PT09PT09PT09PT09PT09PQoKICAyMDA3LTA1LTA5IDIxOjQyOjIzLDY4NiAgSU5G TyBBbm9ueW1vdXNJb1NlcnZpY2UtMS03CiAgRklYLjQuMzpzdGFnaW5nLT5TYWxlc0Q6CiAgOD1G SVguNC4zATk9MTUzATM1PUEBNDk9U2FsZXNEATU2PXN0YWdpbmcBMzQ9MQE1Mj0yMDA3MDUwOS0y MTo0MjoyMwE5OD0wATEwOD0zMAE1NTM9Q2FseW9uRklYVGVzdAE1NTQ9V2VsY29tZTAyATEwPTA2 MwEKICAyMDA3LTA1LTA5IDIxOjQyOjIzLDY4NyAgSU5GTyBRRi9KIFNlc3Npb24gZGlzcGF0Y2hl cjoKICBGSVguNC4zOnN0YWdpbmctPlNhbGVzRCBGSVguNC4zOnN0YWdpbmctPlNhbGVzRDoKICA4 PUZJWC40LjMBOT0xMTUBMzU9NQEzND0yMTABNDk9c3RhZ2luZwE1Mj0yMDA3MDUwOS0yMTo0Mjoy My42ODcBNTY9U2FsZXNEATEwPTEyMwEKCiAgPT09PT09PT09PT09PT09PT09PSBGaXggTG9ncyA9 PT09PT09PT09PT09PT09PT09CgogID09PT09PT09PT09PT09PT09PT0gRXZlbnRzIExvZ3MgPT09 PT09PT09PT09PT09PT09PQoKICAyMDA3LTA1LTA5IDIxOjQyOjIzLDY4NyAgSU5GTyBBbm9ueW1v dXNJb1NlcnZpY2UtMS03CiAgRklYLjQuMzpzdGFnaW5nLT5TYWxlc0Q6IEFjY2VwdGluZyBzZXNz aW9uCiAgRklYLjQuMzpzdGFnaW5nLT5TYWxlc0QgZnJvbSAvMTAuMTAuMjEyLjExOjE1NDI1CiAg MjAwNy0wNS0wOSAyMTo0MjoyMyw2ODcgIElORk8gQW5vbnltb3VzSW9TZXJ2aWNlLTEtNwogIEZJ WC40LjM6c3RhZ2luZy0+U2FsZXNEOiBBY2NlcHRvciBoZWFydGJlYXQgc2V0IHRvIDMwCiAgc2Vj b25kcwogIDIwMDctMDUtMDkgMjE6NDI6MjMsNjg3ICBJTkZPIFFGL0ogU2Vzc2lvbiBkaXNwYXRj aGVyOgogIEZJWC40LjM6c3RhZ2luZy0+U2FsZXNEIEZJWC40LjM6c3RhZ2luZy0+U2FsZXNEOgog IERpc2Nvbm5lY3RpbmcKCiAgPT09PT09PT09PT09PT09PT09PSBFdmVudHMgTG9ncyA9PT09PT09 PT09PT09PT09PT09CgogIEkgYW0gdXNpbmcgUXVpY2tmaXhqIDEuMC4xIC4KCiAgPT09IENvbmZp ZyBQYXJhbXMgPT09PQogIFJlc2V0T25EaXNjb25uZWN0PU4KICBSZXNldE9uTG9nb3V0PU4KICBT dGFydFRpbWU9MjE6MzA6MDAKICBFbmRUaW1lPTIxOjAwOjAwCgoKCiAgUmVnYXJkcywKICBBbnNo dSBOYXJhbmcuCg== |
|
From: Martin E. <me...@sc...> - 2007-06-05 13:50:41
|
Lev Grevnin wrote:
> Does anyone know if there is a way in quickfixj to create your own xml
> message schema file (say FIXMYOWN.xml), so that during the build process
> it will correctly generate all packages and classes, as it currently
> does for other versions, say FIX4.4.xml, for example. If i create one,
> it doesn't seem to get picked up by the build.xml. I mean, is this a
> legal thing to do with quickfixj anyway? Has anyone tried something
> like this before?
You might have to modify the stuff in src/main/java/quickfix/codegen:
Here's an excerpt:
private void generateFieldClasses() ... {
....
for (int fixMinorVersion = 4; fixMinorVersion >= 0; fixMinorVersion--) {
String outputDirectory = outputBaseDir + "/quickfix/field/";
So it looks like the current code is specific to the FIX versions that
QuickFIX/J knows about, and that some tinkering would be required ...
Martin
|
|
From: Lev G. <lev...@db...> - 2007-06-05 13:43:34
|
Hi all. Does anyone know if there is a way in quickfixj to create your own xml message schema file (say FIXMYOWN.xml), so that during the build process it will correctly generate all packages and classes, as it currently does for other versions, say FIX4.4.xml, for example. If i create one, it doesn't seem to get picked up by the build.xml. I mean, is this a legal thing to do with quickfixj anyway? Has anyone tried something like this before? thanks in advance. Lev Grevnin Market Making and ETrading Rates IT work: +7 495 644 3191 mobile: +7 917 504 3004 alternate e-mail: <mailto:lev...@ya...> lev...@ya... --- This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden. |
|
From: Steve B. <st...@te...> - 2007-06-05 11:11:36
|
Hello Ilyas, It's been a while since I've run performance tests but the last time I did I was seeing about 5K msg/sec on a single core Pentium box. Others have reported higher rates (~ 10k/sec). Of course, both of these rates use a memory store and no logging. They were also using streamlined order sender/receivers. Banzai itself might have concurrency issues that slow down the processing. It's just a very simple example of a FIX client. This is one of the reasons I don't publish performance data. Adding a file store will significantly lower the numbers. At that point, you are really testing the speed of your disk subsystem. If you have a file store and a file log it's going to be even slower. And JDBC will slow it down yet again. This is even before the application processing in a real application is taking into account. There are many other considerations that can also impact performance. Some examples are the operating system networking efficiency, the NIC (if not using loopback for the test), the processor architecture (cache, core count), how the socket options are configured, and JVM tuning. I've seen JVM tuning alone have significant impact on real Java application performance. I'm guessing the same would be true for performance test applications. In most real applications, the FIX engine is a small contributor to the throughput measurements. For stress testing though, definitely use a memory store, don't provide a log implementation (QFJ will use a null log), and don't use data dictionary validation of the messages (which means you can't use repeating groups, data fields, etc.). Also be sure you give the JVM plenty of memory so it doesn't have to do much garbage collection. Steve > -----Original Message----- > From: qui...@li... [mailto:quickfixj- > use...@li...] On Behalf Of > ily...@bn... > Sent: Tuesday, June 05, 2007 6:12 AM > To: qui...@li... > Subject: [Quickfixj-users] Stress testing the quickfix/j > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > Hello, > > I'm currently trying to stress test the C++ quickfix engine using a Java > quickfix/j engine (using banzai). I've modded the gui to be able to send > lots of orders, but I'm unable to send more than 1 order every 5 ms. > So before I try to modify anything in the engine (removing logs would my > first idea), has anyone ever managed to send orders at a higher rate (I'm > trying to achieve 1 per ms at least)? > > Thanks, > Ilyas > > > This message and any attachments (the "message") is > intended solely for the addressees and is confidential. > If you receive this message in error, please delete it and > immediately notify the sender. Any use not in accord with > its purpose, any dissemination or disclosure, either whole > or partial, is prohibited except formal approval. The internet > can not guarantee the integrity of this message. > BNP PARIBAS (and its subsidiaries) shall (will) not > therefore be liable for the message if modified. > > --------------------------------------------- > > Ce message et toutes les pieces jointes (ci-apres le > "message") sont etablis a l'intention exclusive de ses > destinataires et sont confidentiels. Si vous recevez ce > message par erreur, merci de le detruire et d'en avertir > immediatement l'expediteur. Toute utilisation de ce > message non conforme a sa destination, toute diffusion > ou toute publication, totale ou partielle, est interdite, sauf > autorisation expresse. L'internet ne permettant pas > d'assurer l'integrite de ce message, BNP PARIBAS (et ses > filiales) decline(nt) toute responsabilite au titre de ce > message, dans l'hypothese ou il aurait ete modifie. > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: Steve B. <st...@te...> - 2007-06-05 10:54:17
|
Hi Toli, The Session implementation in the trunk doesn't synchronize the data dictionary access. I had also modified the Session to release locks on itself before any app callback. The ATApplication implementation used for acceptance testing has asserts to check that no locks are held. This should have eliminated the type of deadlock you are describing. Can you take a look at the version of Session you are using to verify that the data dictionary access is not synchronized? Steve > -----Original Message----- > From: qui...@li... [mailto:quickfixj- > use...@li...] On Behalf Of Toli Kuznets > Sent: Tuesday, June 05, 2007 3:17 AM > To: qui...@li... > Subject: Re: [Quickfixj-users] Is anybody seeing dropped > incomingSSLmessages? > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Brad, > > I was running from SVN HEAD, so looks like there still may be some > nascent deadlock issues possible, even given the current codebase. > > my only changes were the ones i made for QFJ-188, but i don't think > that introduced any new synchronization problems. > > On 6/4/07, Brad Harvey <Bra...@gb...> wrote: > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > > QuickFIX/J Support: http://www.quickfixj.org/support/ > > > > Hi Toli, > > > > Perhaps this is fixed by http://www.quickfixj.org/jira/browse/QFJ-179 > > for 1.1.1? > > > > Brad. > > > -- > Toli Kuznets > http://www.marketcetera.com: Open-Source Trading Platform > download.run.trade. > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: <ily...@bn...> - 2007-06-05 10:17:48
|
Hello,
I'm currently trying to stress test the C++ quickfix engine using a Java
quickfix/j engine (using banzai). I've modded the gui to be able to send
lots of orders, but I'm unable to send more than 1 order every 5 ms.
So before I try to modify anything in the engine (removing logs would my
first idea), has anyone ever managed to send orders at a higher rate (I'm
trying to achieve 1 per ms at least)?
Thanks,
Ilyas
This message and any attachments (the "message") is
intended solely for the addressees and is confidential.
If you receive this message in error, please delete it and
immediately notify the sender. Any use not in accord with
its purpose, any dissemination or disclosure, either whole
or partial, is prohibited except formal approval. The internet
can not guarantee the integrity of this message.
BNP PARIBAS (and its subsidiaries) shall (will) not
therefore be liable for the message if modified.
---------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le
"message") sont etablis a l'intention exclusive de ses
destinataires et sont confidentiels. Si vous recevez ce
message par erreur, merci de le detruire et d'en avertir
immediatement l'expediteur. Toute utilisation de ce
message non conforme a sa destination, toute diffusion
ou toute publication, totale ou partielle, est interdite, sauf
autorisation expresse. L'internet ne permettant pas
d'assurer l'integrite de ce message, BNP PARIBAS (et ses
filiales) decline(nt) toute responsabilite au titre de ce
message, dans l'hypothese ou il aurait ete modifie.
|
|
From: Christian Z. <chr...@re...> - 2007-06-05 07:55:41
|
Hi Guys, Sorry about the delay! All I can tell you for now about SSL in QuickFIX/J... is that I spent a couple of days trying, and I'm now back to Stunnel until my implementation is in production. I hope I'll be able to spend some time on the issue afterwards. Regards, Christian Zapf Toli Kuznets wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > >> No, it doesn't support two way transport-level authentication. Isn't it >> more common to handle client authentication at the application level >> rather than at the transport level? >> > > Well, we have a broker that requires SSL-level authentication for all > incoming client connections. > So i'll take a look at how to get QFJ to send certificates in the > outgoing connections (as initiator) as well, and post the patch later. > > Do you have any suggestions or tips on how to do that best? I will > probably try to generalize the initializeKeyManager code to be used in > InitiatorContextFactory as well, instead of just always returning a > null set of keyManagers there. > > |
|
From: Toli K. <to...@ma...> - 2007-06-05 07:17:18
|
Brad, I was running from SVN HEAD, so looks like there still may be some nascent deadlock issues possible, even given the current codebase. my only changes were the ones i made for QFJ-188, but i don't think that introduced any new synchronization problems. On 6/4/07, Brad Harvey <Bra...@gb...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > Hi Toli, > > Perhaps this is fixed by http://www.quickfixj.org/jira/browse/QFJ-179 > for 1.1.1? > > Brad. -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: Brad H. <Bra...@gb...> - 2007-06-05 01:57:01
|
Hi Toli, Perhaps this is fixed by http://www.quickfixj.org/jira/browse/QFJ-179 for 1.1.1?=20 Brad. -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Toli Kuznets Sent: Tuesday, 5 June 2007 11:20 AM To: qui...@li... Subject: Re: [Quickfixj-users] Is anybody seeing dropped incoming SSLmessages? QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ In the spirit of answering my own questions, I have figured out my problem - it was a "user error" of sorts. Turns out I had a deadlock: since this was a quick-and-dirty sample app, i was stupid to send a MarketDataRequest from inside the onLogon() method. As a result, i had a lock on the DataDictionary and was waiting on SocketIoProcessor (mina's SSL processor) while the SocketIoProcessor was receiving a new message and was in turn waiting on the DataDictionary. So rest assured, SSL (if used correctly) does not drop any incoming messages. Here's a corollary question: it's obvious that sending messages out in onXXX callbacks can lead to deadlocks. Any advice/best practices on how to handle that situation, aside from handing work out to other threads/runnables? thanks! |
|
From: Toli K. <to...@ma...> - 2007-06-05 01:20:29
|
In the spirit of answering my own questions, I have figured out my problem - it was a "user error" of sorts. Turns out I had a deadlock: since this was a quick-and-dirty sample app, i was stupid to send a MarketDataRequest from inside the onLogon() method. As a result, i had a lock on the DataDictionary and was waiting on SocketIoProcessor (mina's SSL processor) while the SocketIoProcessor was receiving a new message and was in turn waiting on the DataDictionary. So rest assured, SSL (if used correctly) does not drop any incoming messages. Here's a corollary question: it's obvious that sending messages out in onXXX callbacks can lead to deadlocks. Any advice/best practices on how to handle that situation, aside from handing work out to other threads/runnables? thanks! (stack dump with deadlock attached for the curious). On 6/4/07, Toli Kuznets <to...@ma...> wrote: > Hi, > > I'm using QFJ to connect to a broker via SSL. > > Every once in a while, i get in a situation where the underlying MINA > layer is seeing incoming FIX messages, but they don't seem to ever > make their way up to the application layer. > Connecting to the same broker without SSL, i'm seeing the same exact > incoming messages, but they don't ever get dropped. > > For example, during connection in the Mina output i'm seeing a Logon > (35=A) followed by a Trading Session Status (35=h). > The Logon comes through, but every once in a while the > TradingSessionStatus doesn't. > The broker logs shows them sending me a heartbeat and a test request, > but i never see that (even in Mina layer) so eventually i'm timed out > and disconnected. > > Is it possible that there's some race condition in the SSL decoding > code? i can't seem to trace where the entrypoint from Mina into QFJ > code is. > > The log with QFJ and Mina messages attached. > > -- > Toli Kuznets > http://www.marketcetera.com: Open-Source Trading Platform > download.run.trade. > > -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |