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: Chris H. <chr...@ho...> - 2006-12-19 18:04:22
|
<html><div style='background-color:'><DIV class=RTE> <P>Would it be possible to move forward a little mina lib wise, I've moved my personal copy of the source to 0.95 (obviously the newer the better I see they are up to 1.01) with little effort (one small class change) and I'm running tests now and all seems well, Java 1.4 & 1.5.<BR><BR>I was trying to give myself a back out, in case we had the hung port issue previously listed by Christian (and listed as a bug fix against mina, 0.95 has the necessary fix) we haven't seen this issue for a long time and it'll be very hard to prove, reproduce, we intend to have a go. If I can prove its there obviously I'll raise this as a proper bug , if we can figure out a way to reliably reproduce it I'll try the new mina and hopefully that will fix it but it is very rare at best.</P></DIV> <DIV></DIV></div><br clear=all><hr>It's Hotmail's 10th Birthday! Come and play <a href="http://g.msn.com/8HMBENUK/2728??PS=47575" target="_top">Pass the Parcel</a> </html> |
|
From: Chris H. <chr...@ho...> - 2006-12-13 18:01:23
|
<html><div style='background-color:'><DIV class=RTE> <P>Hi Steve,</P> <P>Annother class to be looked at for threading issues ..</P> <P>I'm investigating a connect \ reconnect problem I have and had to look at IoSessionInitator.java as part of this and that doesn't feel right. The actual problem I have may be something else but I'll have to consider this as it fits the symptoms.</P> <P>Only one method is synchronized , I think they all should be (easy fix) , I think it makes logical sense (i.e. blocks connection and disconnection from occuring at the same time) and it has its own thread (the reconnect task) so variables will be shared between at least two threads with out appropriate memory barriers and it shares a long member which is an extra no-no as long read \writes aren't guaranteed atomic operations.</P> <P>Apologies if I've missed some some synchronization that occurs somewhere else, (bound to happen eventually :-) )...</P> <P>Chris</P> <P>PS I've got a couple of extra nice to haves (minor fixes) I'll put through the proper channels as they are not thread related directly. <BR><BR></P></DIV> <DIV></DIV> <BLOCKQUOTE style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #a0c6e5 2px solid; MARGIN-RIGHT: 0px"><FONT style="FONT-SIZE: 11px; FONT-FAMILY: tahoma,sans-serif"> <HR color=#a0c6e5 SIZE=1> <DIV></DIV>From: <I>"Steve Bate" <st...@te...></I><BR>Reply-To: <I>qui...@li...</I><BR>To: <I><qui...@li...></I><BR>Subject: <I>Re: [Quickfixj-users] SessionStatus question</I><BR>Date: <I>Wed, 6 Dec 2006 08:27:38 -0500</I><BR>>QuickFIX/J Documentation: http://www.quickfixj.org/documentation/<BR>>QuickFIX/J Support: http://www.quickfixj.org/support/<BR>><BR>>Hi Chris, Jörg, and Patrick,<BR>><BR>>I'll have limited time for development during the holidays, but I'll<BR>>start looking into the issues before then. I agree that the first place<BR>>to look is SessionState and Session. If I have time available, I'll<BR>>start making some of the changes and post a note on this list so people<BR>>can review the modified code.<BR>><BR>>Jörg, I'm open to a state machine implementation of the Session. For<BR>>this initial activity, I'd like to stay with the current design. One<BR>>advantage for me is that when Oren makes changes to the Session design<BR>>it's easier for me to merge into QFJ if the designs are similar.<BR>><BR>>Steve<BR>><BR>> > -----Original Message-----<BR>> > From: qui...@li... [mailto:quickfixj-<BR>> > use...@li...] On Behalf Of Chris Hurst<BR>> > Sent: Tuesday, December 05, 2006 7:19 AM<BR>> > To: qui...@li...<BR>> > Subject: Re: [Quickfixj-users] SessionStatus question<BR>> ><BR>> > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/<BR>> > QuickFIX/J Support: http://www.quickfixj.org/support/<BR>> > Off course, I'll input as / if required with coding\ or looking at code,<BR>> > sessionstate in isolation a should be trivial to fix but session itself,<BR>> > if<BR>> > that was all that was required but it probably does require a bit more<BR>> > thought as regards state transition etc i.e. yes session does require<BR>> > some<BR>> > thought with regard to multi threading i.e. the session transitioning<BR>> > state<BR>> > while another thread is observing.<BR>> ><BR>> > Let me know when you have a plan of attack, or if you would like some<BR>> > input<BR>> > on formulating one.<BR>> ><BR>> > Chris<BR>> ><BR>> > _________________________________________________________________<BR>> > It's Hotmail's 10th Birthday! Come and play Pass the Parcel<BR>> > http://www.msnpasstheparcel.com<BR>> ><BR>> ><BR>> > -------------------------------------------------------------------------<BR>> > Take Surveys. Earn Cash. Influence the Future of IT<BR>> > Join SourceForge.net's Techsay panel and you'll get the chance to share<BR>> > your<BR>> > opinions on IT & business topics through brief surveys - and earn cash<BR>> > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV<BR>> > _______________________________________________<BR>> > Quickfixj-users mailing list<BR>> > Qui...@li...<BR>> > https://lists.sourceforge.net/lists/listinfo/quickfixj-users<BR>><BR>><BR>><BR>>-------------------------------------------------------------------------<BR>>Take Surveys. Earn Cash. Influence the Future of IT<BR>>Join SourceForge.net's Techsay panel and you'll get the chance to share your<BR>>opinions on IT & business topics through brief surveys - and earn cash<BR>>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV<BR>>_______________________________________________<BR>>Quickfixj-users mailing list<BR>>Qui...@li...<BR>>https://lists.sourceforge.net/lists/listinfo/quickfixj-users<BR></FONT></BLOCKQUOTE></div><br clear=all><hr> <a href="http://g.msn.com/8HMAENUS/2749??PS=47575" target="_top">Talk now to your Hotmail contacts with Windows Live Messenger.</a> </html> |
|
From: Toli K. <to...@ma...> - 2006-12-12 19:43:07
|
John, If you are building from source, the 2 classes you just mentioned are generated during compilation. If you download the precompiled quickfixj.jar binary it should have the classes in it. Just run the "ant" command first in the top-level directory and you should get all the generated source files, they'll be in core/target/src-generated directory. You shouldn't need to deal with the C++ code at all - the quickfixj source is complete on its own. enjoy quickfixj. it's great. On 12/12/06, John Perez <joh...@ya...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > I have used quickfix C++/Java for a few years with no problem. > > Recently, I wanted to check out the QuickfixJ product since I wanted to use a 100% Java Fix > Engine. > > I have downloaded quickfixj on my PC, within eclipse and noticed a large number of errors. > > For example: > > 1) BusinessRejectReasonText Extends BusinessRejectReason, but BusinessRejectReason doesn't exist! > > Presumably it simply defines FIELD, OTHER, UNKOWN_ID (sic)for use by BusinessRejectReasonText > > 2) quickfix.field.BeginString class doesn't exist! > > There are other examples. > > I am pretty sure (like close to 100%) that I didn't make an error during the download, since the > unextracted zip file ALSO doesn't have some classes which 'should' be there. > > Is there some step I missed? Is one 'expected' to simply download the java quickfix C++ version > for the missing Java Source Code? > > John Perez > Hudson Securities, Inc. > > > > > > ____________________________________________________________________________________ > Want to start your own business? > Learn how on Yahoo! Small Business. > http://smallbusiness.yahoo.com/r-index > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > 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: John P. <joh...@ya...> - 2006-12-12 19:22:25
|
I have used quickfix C++/Java for a few years with no problem. Recently, I wanted to check out the QuickfixJ product since I wanted to use a 100% Java Fix Engine. I have downloaded quickfixj on my PC, within eclipse and noticed a large number of errors. For example: 1) BusinessRejectReasonText Extends BusinessRejectReason, but BusinessRejectReason doesn't exist! Presumably it simply defines FIELD, OTHER, UNKOWN_ID (sic)for use by BusinessRejectReasonText 2) quickfix.field.BeginString class doesn't exist! There are other examples. I am pretty sure (like close to 100%) that I didn't make an error during the download, since the unextracted zip file ALSO doesn't have some classes which 'should' be there. Is there some step I missed? Is one 'expected' to simply download the java quickfix C++ version for the missing Java Source Code? John Perez Hudson Securities, Inc. ____________________________________________________________________________________ Want to start your own business? Learn how on Yahoo! Small Business. http://smallbusiness.yahoo.com/r-index |
|
From: Brian C. <co...@oc...> - 2006-12-08 19:22:54
|
There's also a Java-swing log viewer/ parser called Log4FIX available at opentradingsolutions.org. You can integrate this viewer as a QuickFIX/J Log or use it as a standalone application to parse existing FIX files. The standalone application can parse any FIX engine's log file or even network sniffer log files (e.g. WireShark). Log4FIX has been sitting in beta 2 on sourceforge for a while. The code in subversion is considered 1.0. I'll eventually get a release on sourceforge. NOTE: your trading application does not need to depend on QuickFIX/J for this application to be useful. Brian Coyner On Dec 8, 2006, at 1:02 PM, Oren Miller wrote: > QuickFIX Documentation: http://www.quickfixengine.org/quickfix/doc/ > html/index.html > QuickFIX Support: http://www.quickfixengine.org/services.html > > A lot of people have been asking about getting the source code to the > logviewer. We are not doing source distributions currently, however > the source is available from the subversion repository. I've added > instructions on retrieving it to the developer page. > > http://www.quickfixengine.org/developers.html > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
|
From: Steve B. <st...@te...> - 2006-12-06 13:25:53
|
Hi Chris, J=F6rg, and Patrick, I'll have limited time for development during the holidays, but I'll=20 start looking into the issues before then. I agree that the first place to look is SessionState and Session. If I have time available, I'll start making some of the changes and post a note on this list so people can review the modified code. J=F6rg, I'm open to a state machine implementation of the Session. For this initial activity, I'd like to stay with the current design. One advantage for me is that when Oren makes changes to the Session design it's easier for me to merge into QFJ if the designs are similar. Steve > -----Original Message----- > From: qui...@li... [mailto:quickfixj- > use...@li...] On Behalf Of Chris Hurst > Sent: Tuesday, December 05, 2006 7:19 AM > To: qui...@li... > Subject: Re: [Quickfixj-users] SessionStatus question >=20 > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Off course, I'll input as / if required with coding\ or looking at = code, > sessionstate in isolation a should be trivial to fix but session = itself, > if > that was all that was required but it probably does require a bit more > thought as regards state transition etc i.e. yes session does require > some > thought with regard to multi threading i.e. the session transitioning > state > while another thread is observing. >=20 > Let me know when you have a plan of attack, or if you would like some > input > on formulating one. >=20 > Chris >=20 > _________________________________________________________________ > It's Hotmail's 10th Birthday! Come and play Pass the Parcel > http://www.msnpasstheparcel.com >=20 >=20 > = -------------------------------------------------------------------------= > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to = share > your > opinions on IT & business topics through brief surveys - and earn cash > = http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: Alvin W. <AW...@FF...> - 2006-12-05 15:55:01
|
Maybe this state management framework is of interest to your guys. http://www.openwfe.org/ = =20 Joerg Thoennes = =20 <Joerg.Thoennes@m = =20 acd.com> To= =20 Sent by: qui...@li....n= =20 quickfixj-users-b et = =20 ou...@li... cc= =20 ceforge.net = =20 Subject= =20 Re: [Quickfixj-users] SessionStatus= =20 12/05/2006 05:22 question = =20 AM = =20 = =20 = =20 Please respond to = =20 quickfixj-users@l = =20 ists.sourceforge. = =20 net = =20 = =20 = =20 QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hi Steve, > I think that the QFJ source code needs to be reviewed in the context > of multithreaded (or more specifically, multiprocessor) execution > and the Java Memory Model. Would you be willing to help with that, > even if it's just another set of eyes on the problem? You made a good point. Actually, missing memory barriers may introduce hardly to catch errors. For long time already, I have the feeling that the state machine would profit from some sort of the state pattern. The actual state could then protected by synchronized methods to be propagated to all processor caches. Another idea would be to use the concurrent library of Doug Lea (java.concurrent nowadays). Hopefully, this would not add to much overhead. Oren is already very keen to keep QuickFIX "small and beautiful." Cheers, J=F6rg -- Joerg Thoennes http://macd.com Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3DDE= VDEV _______________________________________________ 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=20 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: Chris H. <chr...@ho...> - 2006-12-05 12:19:09
|
Off course, I'll input as / if required with coding\ or looking at code, sessionstate in isolation a should be trivial to fix but session itself, if that was all that was required but it probably does require a bit more thought as regards state transition etc i.e. yes session does require some thought with regard to multi threading i.e. the session transitioning state while another thread is observing. Let me know when you have a plan of attack, or if you would like some input on formulating one. Chris _________________________________________________________________ It's Hotmail's 10th Birthday! Come and play Pass the Parcel http://www.msnpasstheparcel.com |
|
From: Joerg T. <Joe...@ma...> - 2006-12-05 10:23:08
|
Hi Steve,
> I think that the QFJ source code needs to be reviewed in the context
> of multithreaded (or more specifically, multiprocessor) execution
> and the Java Memory Model. Would you be willing to help with that,
> even if it's just another set of eyes on the problem?
You made a good point. Actually, missing memory barriers may introduce ha=
rdly to catch errors.
For long time already, I have the feeling that the state machine would pr=
ofit from some sort of the=20
state pattern. The actual state could then protected by synchronized meth=
ods to be propagated to all=20
processor caches.
Another idea would be to use the concurrent library of Doug Lea (java.con=
current nowadays).=20
Hopefully, this would not add to much overhead. Oren is already very keen=
to keep QuickFIX "small=20
and beautiful."
Cheers, J=F6rg
--=20
Joerg Thoennes
http://macd.com
Tel.: +49 (0)241 44597-24 Macdonald Associates GmbH
Fax : +49 (0)241 44597-10 Lothringer Str. 52, D-52070 Aachen
|
|
From: Steve B. <st...@te...> - 2006-12-05 04:29:37
|
Hi Danilo, You should be able to use a stripped down version of the FIX XML metadata files and associated generated code. The stripped down version must support the required messages (fields, groups, components, etc.) and session operation. Steve > -----Original Message----- > From: qui...@li... [mailto:quickfixj- > use...@li...] On Behalf Of Danilo Tuler > Sent: Thursday, November 30, 2006 2:22 PM > To: qui...@li... > Subject: [Quickfixj-users] Stripped down library > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi, > > I wanted to use quickfix in an applet application. > The main problem is the library size. 4Mb is way too much for me. > Have anyone tried to strip down the library by editing FIX4*.xml and > keeping > only a small subset of messages and fields? > I tried this but the code does not compile properly. > > Thanks, > Danilo Tuler > > -- > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.5.430 / Virus Database: 268.15.2/559 - Release Date: 30/11/2006 > 05:07 > > > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: Steve B. <st...@te...> - 2006-12-05 04:27:52
|
Chris, I think that the QFJ source code needs to be reviewed in the context of multithreaded (or more specifically, multiprocessor) execution and the Java Memory Model. Would you be willing to help with that, even if it's just another set of eyes on the problem? Regards, Steve |
|
From: Chris H. <chr...@ho...> - 2006-12-04 18:00:26
|
<html><div style='background-color:'><DIV class=RTE>Hi,</DIV>
<DIV class=RTE> Following Zoltan's mail something that has been concerning me is how thread safe the QuickFix libs are ???<BR> <BR> e.g. Session appears to have some thread safety but no comment on which parts are safe and not, normally if this was intended the class would be split in two and one class the thread safe derived from the other. I appreciate the minalibs appear thread safe but that doesn't necessarily make the code above it ok.<BR> <BR> I'm referring mainly to the setting of non volatile variables that appear to be used by more than one thread (this happens a lot), I appreciate this may be controlled by a synchronized class / layer I have identified yet, sorry I'm still quite new to<BR> the Quick lib's and there is a lot of code to trawl through it may be I missed something but I think at the very least wecould do with
some comments on what is thread safe or not.<BR> <BR> Looking at Zoltan's scenario posted (I'm not saying this is his problem i.e. he may have some completely unrelated problem and this could still be an issue), I'm just using his description of how he uses the code, to illustrate my point and providing a possible explanation for it.<BR> <BR> ... now in session next() will be called from whatever (mina?)threading stategy he uses\chooses (i.e. at least one other thread if not many) and eventually the true state of the session will be guaranteed to be written back to main memory (i.e memory barrier hit) by exiting<BR> the synchronized method (session state itself is not thread safe, perhaps a comment to that effect would be useful) ... but he is almost certainly using another thread e.g. the main one (e.g. code called from the java main method) to
poll is loggedOn in session but that isn't thread safe as is most of the public setter / getters i.e. unless his polling logged on involves a sync lock of some <BR> form (memory barrier) the JVM NEVER has to give him the real value written by the other thread i.e. one thread sees false the other sees true surely, though obviously this is JVM / OS / number of CPU whatever dependent (and indeed dependent on how the bespoke <BR> FIX application uses these method (i.e. does its synchronization)) i.e. it might work it might not.<BR> <BR> // assume you have a session variable you want to know is logged off<BR> <BR> /*<BR> Very bad ugly fix, that might work (untested \ compiled example for user code), which if it worked should be replaced with a QuickFix lib change<BR> */<BR> Object = new Object ();<BR>
boolean isLoggedOn = true;<BR> do<BR> {<BR> // force a memory barrier (Not recomended) i.e. I'm not using the sync as a lock but as</DIV>
<DIV class=RTE> // thread cache flush<BR> synchronized (obj) { isLoggedOn = session.isLoggedOn (); }<BR> }<BR> while (isLoggedOn); // exit when logged off<BR> <BR> <BR> (Note the lock I'm releasing isn't the one released in the one in session and the formal JVM Memory Model describes releasing\acquiring the same lock usually, i.e.<BR> what I've written is a very dirty hack.... )<BR> <BR> <BR> I've got a lot more thoughts concerns on this but I'll keep this short in case some one has spotted an obvious flaw in my initial observations (its happened before :-) ),<BR> at the very least some informative comments could be added to the code to point out what I've missed.<BR> <BR> (PS if anyone has an explanation for why getResponder is synchronized and setResponder isn't ...
)</DIV></div><br clear=all><hr>Be the first to hear what's new at MSN - <a href="http://g.msn.com/8HMBENUK/2740??PS=47575" target="_top">sign up to our free newsletters!</a> </html>
|
|
From: <Zol...@ss...> - 2006-11-30 19:49:46
|
Hello, Can someone tell me how I can see if a session is logged on from an Application? For some reason in my acceptor application Session.isLoggedOn() is not updating when the initiator disconnects. A line of code for this would be great. My application sends IOIs when an initiator logs on. I have a loop that's entered from onLogon(). At this point I would like my acceptor to send IOIs until the initiator logs off but I can't capture the logoff event. Your help is appreciated. Thank you, Zoltan |
|
From: Danilo T. <tu...@po...> - 2006-11-30 19:21:51
|
Hi, I wanted to use quickfix in an applet application. The main problem is the library size. 4Mb is way too much for me. Have anyone tried to strip down the library by editing FIX4*.xml and keeping only a small subset of messages and fields? I tried this but the code does not compile properly. Thanks, Danilo Tuler -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.430 / Virus Database: 268.15.2/559 - Release Date: 30/11/2006 05:07 |
|
From: Brad H. <Bra...@gb...> - 2006-11-28 05:50:23
|
Hi Richard,
Make sure you have the following jars on your classpath:
log4j 1.2.x (log4j)
slf4j-log4j12 1.x (binds slf4j to log4j)
jcl104-over-slf4j 1.x (replacement for commons logging that routes
through slf4j, can't remember if always required)
Use the SLF4JLogFactory when creating your SessionFactory.
Then the easiest way to configure is to put a log4j.properties file
somewhere on your classpath. I generally have the working directory on
the classpath and put the file in there, but you can also stick it in
the root of a jar.
This is a very minimalistic log4j.properties that will log INFO and
above to stdout.
log4j.rootLogger=3DINFO,console
log4j.appender.console=3Dorg.apache.log4j.ConsoleAppender
log4j.appender.console.layout=3Dorg.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=3D%d %-5p (%t) [%c{2}]
%m%n
If you've done all this and it appears to be logging using something
else like jdk logging, make sure you don't have any of the other slf4j
jars like slf4j-jdk14 1.x on your classpath - I suspect it'll pick up
whatever it finds first.
Regards,
Brad.
-----Original Message-----
From: qui...@li...
[mailto:qui...@li...] On Behalf Of
Richard Pike
Sent: Tuesday, 28 November 2006 3:11 AM
To: qui...@li...
Subject: [Quickfixj-users] Help on log4j configuration
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
I am struggling to configure log4j with a config file, can someone help
by sending an example of how I would configure quickfix to use log4j,
Thanks..=20
|
|
From: Richard P. <Ric...@tu...> - 2006-11-27 17:11:26
|
I am struggling to configure log4j with a config file, can someone help by sending an example of how I would configure quickfix to use log4j, Thanks.. |
|
From: Brian C. <co...@oc...> - 2006-11-26 20:30:06
|
Hi Peter, Object Computing (OCI) in St. Louis, Missouri provides FIX and QuickFIX (c++ and java) services (training, consulting, project-based work). Please contact me directly (co...@oc...) if you are interested in learning more about our services and how we can help your organization. Thanks, Brian Coyner On Nov 24, 2006, at 11:36 AM, Toli Kuznets wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Peter, > > There's a company in St. Louis, MO that does some FIX training: > http://www.ociweb.com/education/services/descrip/financial > > The guy running it is Brian Coyner (co...@oc...), he may be > able to contact him to arrange some sort of remote training program. > > good luck. > > PS: this is a plug, of course, but if you need to see examples of FIX > code in action, we have an open-source FIX-based trading platform. All > the code is up at http://trac.marketcetera.org/trac.fcgi/browser > > -- > Toli Kuznets > http://www.marketcetera.com: Open-Source Trading Platform > download.run.trade. > > On 11/24/06, Peter Warder <pw...@bl...> wrote: >> QuickFIX/J Documentation: >> http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> >> >> >> >> >> >> I'm looking for a (hopefully) small amount of paid QFJ help/ >> training for a >> London based FIX project. >> >> Formal/informal . . anything considered. Anyone able to help or >> know of >> someone? >> >> Thanks, >> >> Peter >> >> 020 8949 3753 >> >> pwa...@bl... >> > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users |
|
From: Toli K. <to...@ma...> - 2006-11-24 17:36:42
|
Peter, There's a company in St. Louis, MO that does some FIX training: http://www.ociweb.com/education/services/descrip/financial The guy running it is Brian Coyner (co...@oc...), he may be able to contact him to arrange some sort of remote training program. good luck. PS: this is a plug, of course, but if you need to see examples of FIX code in action, we have an open-source FIX-based trading platform. All the code is up at http://trac.marketcetera.org/trac.fcgi/browser -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. On 11/24/06, Peter Warder <pw...@bl...> wrote: > QuickFIX/J Documentation: > http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > > > > > > > I'm looking for a (hopefully) small amount of paid QFJ help/training for a > London based FIX project. > > Formal/informal . . anything considered. Anyone able to help or know of > someone? > > Thanks, > > Peter > > 020 8949 3753 > > pwa...@bl... > |
|
From: Peter W. <pw...@bl...> - 2006-11-24 15:06:27
|
I'm looking for a (hopefully) small amount of paid QFJ help/training for a London based FIX project. Formal/informal . . anything considered. Anyone able to help or know of someone? Thanks, Peter 020 8949 3753 pwa...@bl... |
|
From: Matyas B. <ma...@ba...> - 2006-11-23 08:00:28
|
Hi!
Sorry, we provide the MarketData, so at first I thougth that you need
the construction of this message. But, here is the read example from our
tester...
quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries noMd = new
quickfix.fix42.MarketDataIncrementalRefresh.NoMDEntries();
int entriesCount = mdIncRefresh.getNoMDEntries().getValue();
for (int i = 1; i < entriesCount + 1; i++)
{
mdIncRefresh.getGroup(i, noMd);
cData = noMd.getSymbol().getValue();
if(noMd.getMDEntryType().getValue() == MDEntryType.BID)
{
tester.getMarketViewPane().setValueAt(Double.toString(noMd.getMDEntryPx().getValue()),row,1);
}
if(noMd.getMDEntryType().getValue() == MDEntryType.OFFER)
{
tester.getMarketViewPane().setValueAt(Double.toString(noMd.getMDEntryPx().getValue()),row,2);
}
tester.getMarketViewPane().setValueAt(noMd.getSecurityType().getValue(),row,3);
tester.getMarketViewPane().setValueAt((noMd.isSetMDEntryID()) ?
noMd.getMDEntryID().getValue() : "-",row,4);
if (noMd.isSetMDUpdateAction())
{
if (noMd.getMDUpdateAction().getValue() ==
noMd.getMDUpdateAction().NEW)
tester.getMarketViewPane().setValueAt("New",row,5);
else if (noMd.getMDUpdateAction().getValue() ==
noMd.getMDUpdateAction().CHANGE)
tester.getMarketViewPane().setValueAt("Change",row,5);
else if (noMd.getMDUpdateAction().getValue() ==
noMd.getMDUpdateAction().DELETE)
tester.getMarketViewPane().setValueAt("Delete",row,5);
else
tester.getMarketViewPane().setValueAt("Unknown",row,5);
}
else
tester.getMarketViewPane().setValueAt("-",row,5);
}
try
{
// Here we just get the timestamp from the message - it has
a better way....
String asd = ((Header)mdIncRefresh.getHeader()).getString(52);
tester.getMarketViewPane().setValueAt(asd.substring(9),row,6);
}
catch (FieldNotFound ex)
{
tester.appendLog("!!! Error: " + ex);
category.error("!!! Error: " + ex);
ex.printStackTrace();
}
category.debug("onMessage(MarketDataIncrementalRefresh): " +
mdIncRefresh);
if(showMVMessage)
System.out.println("onMessage(MarketDataIncrementalRefresh):
(MarketView) " + mdIncRefresh);
}
}
Regards,
Matyas
Hristo Katsarski wrote:
>QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>QuickFIX/J Support: http://www.quickfixj.org/support/
>Hi Matyas,
>
>Thank you for the example. I was actually looking for the proper way of how to programmatically read the repeating NoMDEntries groups, from an incoming message(I don't need to compose messages for now).
>
>I came to this solution:
>1. get the total number of NoMDEntries groups in a message;
>2. for each number (got in 1.) create a new NoMDEntries(), then fill it from the message, and finally fill-in each specific field in the current 'mdEntry'.
>
>
>Anyway, thanks a lot for your response, it might come handy to me at a later stage!
>
>best regards,
>Hristo
>
>
>----------------------------------------------------------------------
>
>
>>Message: 1
>>Date: Wed, 22 Nov 2006 16:37:16 +0200
>>From: Hristo Katsarski <hr...@ri...>
>>Subject: [Quickfixj-users] Reading MarketDataIncrementalRefresh
>> message
>>To: qui...@li...
>>Message-ID: <456...@ri...>
>>Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>>Hi,
>>
>>I am new to QuickFix/J and have difficulties reading a FIX 4.4
>>"MarketDataIncrementalRefresh" message.
>>Could somebody post a code snippet, showing how to do this?
>>
>>many thanks,
>>Hristo
>>
>>
>>
>>------------------------------
>>
>>Message: 2
>>Date: Wed, 22 Nov 2006 15:53:00 +0100
>>From: Matyas Barakonyi <ma...@ba...>
>>Subject: Re: [Quickfixj-users] Reading MarketDataIncrementalRefresh
>> message
>>To: qui...@li...
>>Message-ID: <456...@ba...>
>>Content-Type: text/plain; charset=ISO-8859-1; format=flowed
>>
>>Hi!
>>
>>This is from our code... The difficult part could be the repeating
>>group. But in the quickfixj webpage there are a good examples...
>>
>> MarketDataIncrementalRefresh mdIncrRefresh = new
>>MarketDataIncrementalRefresh();
>> mdIncrRefresh.set(mdReq.getMDReqID());
>> mdIncrRefresh.set(NO_MD_ENTRIES_1);
>> //Here we create a NoMDEntries group
>> MarketDataIncrementalRefresh.NoMDEntries noMdEntries = new
>>MarketDataIncrementalRefresh.NoMDEntries();
>> noMdEntries.set(new MDUpdateAction(mdUpdateAction));
>> noMdEntries.set(MD_ENTRY_TYPE_INDEX_VALUE);
>> //mdEntryId
>> //mdEntryRefId
>> noMdEntries.set(new Symbol(getSymbolFromReutersCode(rtCode,
>>category)));
>> noMdEntries.set(PRODUCT_CURRENCY);
>> noMdEntries.set(SECURITY_TYPE_FOR);
>> noMdEntries.set(new MDEntryPx(midPrice));
>> //currency
>> //MDEntryDate
>> //MDEntryTime
>> //TickDirection
>> //MDMkt
>> noMdEntries.set(tradSessID);
>> //text
>> //Here we add the group to the message! You can create more than
>>one group...
>> mdIncrRefresh.addGroup(noMdEntries);
>> sendMessage(mdIncrRefresh, sessionID);
>>
>>Regards,
>>Matyas
>>
>>Hristo Katsarski wrote:
>>
>>
>>
>>
>>>QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>>>QuickFIX/J Support: http://www.quickfixj.org/support/
>>>Hi,
>>>
>>>I am new to QuickFix/J and have difficulties reading a FIX 4.4
>>>"MarketDataIncrementalRefresh" message.
>>>Could somebody post a code snippet, showing how to do this?
>>>
>>>many thanks,
>>>Hristo
>>>
>>>-------------------------------------------------------------------------
>>>Take Surveys. Earn Cash. Influence the Future of IT
>>>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>>>opinions on IT & business topics through brief surveys - and earn cash
>>>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>>_______________________________________________
>>>Quickfixj-users mailing list
>>>Qui...@li...
>>>https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>>
>>>
>>>
>>>
>>>
>>
>>
>>------------------------------
>>
>>-------------------------------------------------------------------------
>>Take Surveys. Earn Cash. Influence the Future of IT
>>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>>opinions on IT & business topics through brief surveys - and earn cash
>>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>>
>>------------------------------
>>
>>_______________________________________________
>>Quickfixj-users mailing list
>>Qui...@li...
>>https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>>
>>
>>End of Quickfixj-users Digest, Vol 6, Issue 23
>>**********************************************
>>
>>
>>
>
>
>-------------------------------------------------------------------------
>Take Surveys. Earn Cash. Influence the Future of IT
>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>opinions on IT & business topics through brief surveys - and earn cash
>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>_______________________________________________
>Quickfixj-users mailing list
>Qui...@li...
>https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
|
|
From: Hristo K. <hr...@ri...> - 2006-11-23 00:02:47
|
Hi Matyas, Thank you for the example. I was actually looking for the proper way of how to programmatically read the repeating NoMDEntries groups, from an incoming message(I don't need to compose messages for now). I came to this solution: 1. get the total number of NoMDEntries groups in a message; 2. for each number (got in 1.) create a new NoMDEntries(), then fill it from the message, and finally fill-in each specific field in the current 'mdEntry'. Anyway, thanks a lot for your response, it might come handy to me at a later stage! best regards, Hristo ---------------------------------------------------------------------- > Message: 1 > Date: Wed, 22 Nov 2006 16:37:16 +0200 > From: Hristo Katsarski <hr...@ri...> > Subject: [Quickfixj-users] Reading MarketDataIncrementalRefresh > message > To: qui...@li... > Message-ID: <456...@ri...> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Hi, > > I am new to QuickFix/J and have difficulties reading a FIX 4.4 > "MarketDataIncrementalRefresh" message. > Could somebody post a code snippet, showing how to do this? > > many thanks, > Hristo > > > > ------------------------------ > > Message: 2 > Date: Wed, 22 Nov 2006 15:53:00 +0100 > From: Matyas Barakonyi <ma...@ba...> > Subject: Re: [Quickfixj-users] Reading MarketDataIncrementalRefresh > message > To: qui...@li... > Message-ID: <456...@ba...> > Content-Type: text/plain; charset=ISO-8859-1; format=flowed > > Hi! > > This is from our code... The difficult part could be the repeating > group. But in the quickfixj webpage there are a good examples... > > MarketDataIncrementalRefresh mdIncrRefresh = new > MarketDataIncrementalRefresh(); > mdIncrRefresh.set(mdReq.getMDReqID()); > mdIncrRefresh.set(NO_MD_ENTRIES_1); > //Here we create a NoMDEntries group > MarketDataIncrementalRefresh.NoMDEntries noMdEntries = new > MarketDataIncrementalRefresh.NoMDEntries(); > noMdEntries.set(new MDUpdateAction(mdUpdateAction)); > noMdEntries.set(MD_ENTRY_TYPE_INDEX_VALUE); > //mdEntryId > //mdEntryRefId > noMdEntries.set(new Symbol(getSymbolFromReutersCode(rtCode, > category))); > noMdEntries.set(PRODUCT_CURRENCY); > noMdEntries.set(SECURITY_TYPE_FOR); > noMdEntries.set(new MDEntryPx(midPrice)); > //currency > //MDEntryDate > //MDEntryTime > //TickDirection > //MDMkt > noMdEntries.set(tradSessID); > //text > //Here we add the group to the message! You can create more than > one group... > mdIncrRefresh.addGroup(noMdEntries); > sendMessage(mdIncrRefresh, sessionID); > > Regards, > Matyas > > Hristo Katsarski wrote: > > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> Hi, >> >> I am new to QuickFix/J and have difficulties reading a FIX 4.4 >> "MarketDataIncrementalRefresh" message. >> Could somebody post a code snippet, showing how to do this? >> >> many thanks, >> Hristo >> >> ------------------------------------------------------------------------- >> Take Surveys. Earn Cash. Influence the Future of IT >> Join SourceForge.net's Techsay panel and you'll get the chance to share your >> opinions on IT & business topics through brief surveys - and earn cash >> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >> _______________________________________________ >> Quickfixj-users mailing list >> Qui...@li... >> https://lists.sourceforge.net/lists/listinfo/quickfixj-users >> >> >> > > > > > ------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > ------------------------------ > > _______________________________________________ > Quickfixj-users mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfixj-users > > > End of Quickfixj-users Digest, Vol 6, Issue 23 > ********************************************** > |
|
From: Matyas B. <ma...@ba...> - 2006-11-22 14:53:22
|
Hi!
This is from our code... The difficult part could be the repeating
group. But in the quickfixj webpage there are a good examples...
MarketDataIncrementalRefresh mdIncrRefresh = new
MarketDataIncrementalRefresh();
mdIncrRefresh.set(mdReq.getMDReqID());
mdIncrRefresh.set(NO_MD_ENTRIES_1);
//Here we create a NoMDEntries group
MarketDataIncrementalRefresh.NoMDEntries noMdEntries = new
MarketDataIncrementalRefresh.NoMDEntries();
noMdEntries.set(new MDUpdateAction(mdUpdateAction));
noMdEntries.set(MD_ENTRY_TYPE_INDEX_VALUE);
//mdEntryId
//mdEntryRefId
noMdEntries.set(new Symbol(getSymbolFromReutersCode(rtCode,
category)));
noMdEntries.set(PRODUCT_CURRENCY);
noMdEntries.set(SECURITY_TYPE_FOR);
noMdEntries.set(new MDEntryPx(midPrice));
//currency
//MDEntryDate
//MDEntryTime
//TickDirection
//MDMkt
noMdEntries.set(tradSessID);
//text
//Here we add the group to the message! You can create more than
one group...
mdIncrRefresh.addGroup(noMdEntries);
sendMessage(mdIncrRefresh, sessionID);
Regards,
Matyas
Hristo Katsarski wrote:
>QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>QuickFIX/J Support: http://www.quickfixj.org/support/
>Hi,
>
>I am new to QuickFix/J and have difficulties reading a FIX 4.4
>"MarketDataIncrementalRefresh" message.
>Could somebody post a code snippet, showing how to do this?
>
>many thanks,
>Hristo
>
>-------------------------------------------------------------------------
>Take Surveys. Earn Cash. Influence the Future of IT
>Join SourceForge.net's Techsay panel and you'll get the chance to share your
>opinions on IT & business topics through brief surveys - and earn cash
>http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>_______________________________________________
>Quickfixj-users mailing list
>Qui...@li...
>https://lists.sourceforge.net/lists/listinfo/quickfixj-users
>
>
|
|
From: Hristo K. <hr...@ri...> - 2006-11-22 14:37:28
|
Hi, I am new to QuickFix/J and have difficulties reading a FIX 4.4 "MarketDataIncrementalRefresh" message. Could somebody post a code snippet, showing how to do this? many thanks, Hristo |
|
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: Brad H. <Bra...@gb...> - 2006-11-16 22:07:02
|
Hi Alvin, quickfix.MessageUtils has some handy static methods for working with messages. Try: Message message =3D MessageUtils.parse(new DefaultMessageFactory(), dataDictionary, strMessage); You can then cast to the corresponding message type. This method does have one gotcha - if you pass in a null dataDictionary then message validation (checksum/body length) is disabled. If you want validation against the data dictionary I think you also need to call dataDictionary.validate(message). Cheers, Brad. > 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) |