|
From: Marcassoli, S. <Sta...@gs...> - 2007-04-25 19:54:38
|
Thanks Toli, I think you might be correct. The message that the Source is expecting on connection is: 1:16:13.653RX8=3DFIX.4.4|9=3D79|35=3D0|34=3D2|49=3DAAAA|52=3D20080420-15:= 16:13.652|5 6=3DBBB|1 12=3DL.0001.0002.0003.151613|10=3D120|=20 All this information should be available from the setting file. Is there a way that I can up quickfix logging so that I can see if it sends this message? Thanks, Stacy ---------------------------------------------------------------------- Message: 1 Date: Tue, 24 Apr 2007 00:18:06 -0700 From: "Toli Kuznets" <to...@ma...> Subject: Re: [Quickfixj-users] Sending a Heartbeat To: qui...@li... Message-ID: <406...@ma...> Content-Type: text/plain; charset=3DISO-8859-1; format=3Dflowed Stacy, I may be mistaken, but I think all heartbeat exchange happens behind the scenes automatically. Once you log on to your FIX acceptor and they exchange login messages, each side sends heartbeats to each other automatically. if that's not enough for yo, you can try sending a heartbeat in the onLogon() method in your FIX Application subclass as well. for example, when our Marketcetera OMS connects to the FIX exchange simulator (essentially the ordermatcher in the quickfixj examples directory), the simulator sends a heartbeat to OMS after logon, and the OMS replies. and it's the underlying QFJ layer that handles all of that, we didn't have to add any code to setup heartbeat exchange, aside from having the default HeartBtInt=3D30 value setup in the config file (ours = is done in Spring but it's the same idea): http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/src/ma in/resources/quickfixj.xml hope this helps. |
|
From: Toli K. <to...@ma...> - 2007-04-25 21:12:22
|
Stacy, We've switched our QFJ config to use Spring, so i haven't been using the .cfg files in a while. Here's a reference from when we used it before in the Marketcetera OMS: http://trac.marketcetera.org/trac.fcgi/browser/platform/tags/0.1.4/oms/src/main/resources/oms.properties#L49 Those vars are used for ScreenLogFactory so you'll need to make sure you are creating one of those in your code. There are similar ones for SLF4J as well, and other loggers as well. Essentially, you need this: ScreenLogShowHeartBeats=Y or SLF4JLogHeartbeats=Y for SLF4J On 4/25/07, Marcassoli, Stacy <Sta...@gs...> wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Thanks Toli, > I think you might be correct. The message that the Source is expecting > on connection is: > 1:16:13.653RX8=FIX.4.4|9=79|35=0|34=2|49=AAAA|52=20080420-15:16:13.652|5 > 6=BBB|1 > 12=L.0001.0002.0003.151613|10=120| > > All this information should be available from the setting file. Is > there a way that I can up quickfix logging so that I can see if it sends > this message? > > Thanks, -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: Robert B. <rbr...@me...> - 2007-04-26 13:42:05
|
1.) We plan on connecting to 4 end-points, so I have 4 sessions in my configuration file...is there a benefit to using the ThreadedSocketInitiator as opposed to just the SocketInitiator? 2.) If one of our end-point's connection goes down indefinitely, are the remaining 3 sessions ok? Say one of the 4 end-points goes down momentarily and then goes back up, will the engine reconnect or do I have to bring the entire engine down and reconnect all 4 sessions? 3.) Examples of the custom Initiator classes have a 'System.in' statement waiting for a user to hit a key on the keyboard to exit the engine. If we want to put this process in the background, this isn't a feasible design obviously...so I was curious what people are doing to build an engine that can be set as a background process and then when brought back to the foreground, how is the engine being stopped elegantly so the appropriate logout and disconnect procedures occur? Thanks for any help and your patience with a newcomer! rob Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 =20 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Robert B. <rbr...@me...> - 2007-04-26 14:24:01
|
I have another question regarding jdbc logging. We use an oracle
database. My dba set up all of the tables based on the sample SQL
scripts for the mysql database. When I fire up the engine which is
configured with one session, I get the following log output to the
console:
-------
beginning initiator...
2007-04-26 10:19:06,478 DEBUG [main] proxool.ShutdownHook
(ShutdownHook.java:73) - Registered shutdownHook
2007-04-26 10:19:06,509 DEBUG [main] proxool.HouseKeeperController
(HouseKeeperController.java:84) - Registering 'quickfixj-1' house keeper
2007-04-26 10:19:06,509 DEBUG [main] proxool.HouseKeeperController
(HouseKeeperController.java:92) - Starting a house keeper thread
2007-04-26 10:19:06,697 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value: isReadOnly()
=3D false
2007-04-26 10:19:06,712 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value:
getHoldability() =3D 1
2007-04-26 10:19:06,728 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value:
getTransactionIsolation() =3D 2
2007-04-26 10:19:06,743 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value: getTypeMap()
=3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory}
2007-04-26 10:19:06,743 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value: getCatalog()
=3D null
2007-04-26 10:19:06,743 INFO [main] proxool.ConnectionPool
(ConnectionPool.java:623) - Proxool statistics legend: "s - r (a/t/o)"
> s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, t=3Dtotal,
o=3Doffline (being tested)
2007-04-26 10:19:06,743 DEBUG [main] proxool.Prototyper
(Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on
demand =3D ACTIVE
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.ClientDataSupport
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.OracleConnection
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.OracleConnection
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface java.sql.Connection
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface oracle.sql.ClobDBAccess
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface oracle.sql.BlobDBAccess
2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.sql.BfileDBAccess
2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface java.sql.Statement
2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.OracleStatement
2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.OraclePreparedStatement
2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
java.sql.PreparedStatement
2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.OraclePreparedStatement
2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.OracleStatement
quickfix.ConfigError: error during session initialization
at
quickfix.mina.initiator.AbstractSocketInitiator.createSessions(AbstractS
ocketInitiator.java:132)
at
quickfix.mina.initiator.AbstractSocketInitiator.<init>(AbstractSocketIni
tiator.java:73)
at
quickfix.mina.initiator.AbstractSocketInitiator.<init>(AbstractSocketIni
tiator.java:65)
at
quickfix.ThreadedSocketInitiator.<init>(ThreadedSocketInitiator.java:32)
at
com.merlin.pb.fix.MerlinFIXInitiator.main(MerlinFIXInitiator.java:111)
Caused by: java.lang.RuntimeException: java.sql.SQLException: ORA-01400:
cannot insert NULL into ("FIX"."SESSIONS"."SESSION_QUALIFIER")
at quickfix.JdbcStoreFactory.create(JdbcStoreFactory.java:44)
at quickfix.Session.<init>(Session.java:270)
at
quickfix.DefaultSessionFactory.create(DefaultSessionFactory.java:152)
at
quickfix.mina.SessionConnector.createSession(SessionConnector.java:112)
at
quickfix.mina.initiator.AbstractSocketInitiator.createSessions(AbstractS
ocketInitiator.java:126)
... 4 more
Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into
("FIX"."SESSIONS"."SESSION_QUALIFIER")
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:12
5)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
at
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.jav
a:182)
at
oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStat
ement.java:630)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.
java:1081)
at
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepare
dStatement.java:2905)
at
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStateme
nt.java:2996)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100
)
at
org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java:
57)
at
$java.sql.Statement$$EnhancerByProxool$$a742985f.execute(<generated>)
at quickfix.JdbcStore.loadCache(JdbcStore.java:130)
at quickfix.JdbcStore.<init>(JdbcStore.java:65)
at quickfix.JdbcStoreFactory.create(JdbcStoreFactory.java:42)
... 8 more
2007-04-26 10:19:08,993 DEBUG [ShutdownHook] proxool.ShutdownHook
(ShutdownHook.java:93) - Running ShutdownHook
2007-04-26 10:19:08,993 INFO [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool immediately
[Shutdown Hook]
2007-04-26 10:19:09,009 DEBUG [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:447) - 000001 (00/00/00) - #0001 removed because of
shutdown.
2007-04-26 10:19:09,009 DEBUG [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:553) - Connection #1 closed
2007-04-26 10:19:09,009 INFO [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by
Shutdown Hook in 16 milliseconds.
2007-04-26 10:19:09,009 INFO [Shutdown Hook]
proxool.PrototyperController (PrototyperController.java:100) - Stopping
Prototyper thread
2007-04-26 10:19:09,009 INFO [Shutdown Hook]
proxool.HouseKeeperController (HouseKeeperController.java:107) -
Stopping HouseKeeper thread
-----
Why is it trying to insert NULL initially in a column specifically set
to NOT NULL? Is this JDBC logging just not compatible with an oracle
back-end? We're using the latest oracle jdbc drivers and the latest
release of the quickfix/j engine...any thoughts?
Thanks,
Rob
Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S=
trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007
=20
--------------------------------------------------------
This message contains information from Merlin Securities, LLC, or from one =
of its affiliates, that may be confidential and privileged. If you are not =
an intended recipient, please refrain from any disclosure, copying, distrib=
ution or use of this information and note that such actions are prohibited.=
If you have received this transmission in error, please notify the sender =
immediately by telephone or by replying to this transmission.
=20
Merlin Securities, LLC is a registered broker-dealer. Services offered thro=
ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal=
Government Agency, are not deposits of or guaranteed by Merlin Securities,=
LLC and may lose value. Nothing in this communication shall constitute a s=
olicitation or recommendation to buy or sell a particular security.
|
|
From: Toli K. <to...@ma...> - 2007-04-26 15:46:29
|
Robert, > 1.) We plan on connecting to 4 end-points, so I have 4 sessions in my > configuration file...is there a benefit to using the > ThreadedSocketInitiator as opposed to just the SocketInitiator? This is a classic trade-off. if you need all your incoming messages to be processed in order they are coming in across all connections, then use the regular SocketInitiator. If the 4 connections are totally unrelated then you can process them concurrently using the ThreadedSocketInitiator > > 2.) If one of our end-point's connection goes down indefinitely, are > the remaining 3 sessions ok? Say one of the 4 end-points goes down > momentarily and then goes back up, will the engine reconnect or do I > have to bring the entire engine down and reconnect all 4 sessions? QFJ should reconnect to the lost connection when it comes back u and renegotiate a logon. there area various timeout settings you can tweak to modify the timeout behaviour. > 3.) Examples of the custom Initiator classes have a 'System.in' > statement waiting for a user to hit a key on the keyboard to exit the > engine. If we want to put this process in the background, this isn't a > feasible design obviously...so I was curious what people are doing to > build an engine that can be set as a background process and then when > brought back to the foreground, how is the engine being stopped > elegantly so the appropriate logout and disconnect procedures occur? > I'd be intersted to hear how others approach this problem as well. For now, we create the socket initiator and FIX listenrers in Spring, and then the main thread just goes to sleep (we do a new Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if you run it on the console, or with an /etc/init.d script wrapping a 'kill -9' on our virtual appliance. Here's the code for reference: http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/src/main/java/org/marketcetera/oms/OrderManagementSystem.java#L59 -- Toli Kuznets http://www.marketcetera.com: Open-Source Trading Platform download.run.trade. |
|
From: Steve B. <st...@te...> - 2007-04-26 16:12:12
|
> I'd be intersted to hear how others approach this problem as well. For > now, we create the socket initiator and FIX listenrers in Spring, and > then the main thread just goes to sleep (we do a new > Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if you > run it on the console, or with an /etc/init.d script wrapping a 'kill > -9' on our virtual appliance. Here's the code for reference: Another way to do this is to create a simple custom JMX MBean that shutdowns the connectors (acceptors and initiators)and other resources and then exits the process. You could use any JMX-enabled tool to stop the process that way (including Java command line programs). |
|
From: Tommy H. <Tom...@Bo...> - 2007-04-26 16:54:14
|
I just started developing with QuickFIX/J last week and am totally delighted with the ease of use (kinda of like switching to a Mac). Most everything you need to manage the "grunt-work" of the protocol is handled using the "Setting" file as described in the user manual. Session level stuff, Logon/Logout, heartbeats, resends, all are handled "under-the-hood" and need not be handled at your application level code. IMHO, the greatest benefit to new users is the management extensions. Just add a few lines of code to a Java 1.5 codebase and a system property on the command line; start "jconsole" and connect! (Be sure to start the console using the same user as your application if running locally) From there the session attributes page is a real help. you can view or update values on-the-fly. Go to the "Operations" tab and you can reset, disconnect, logon, or logoff individual sessions. In general this product is very is easy to use, almost beyond belief. My suggestion would be to check out the "Creating Your Application", "Receiving Messages" and "Sending Messages" sections of the user manual paying attention to the "Most Type Safe" approach. Good luck! -Tommy On Apr 26, 2007, at 10:46 AM, Toli Kuznets wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Robert, > >> 1.) We plan on connecting to 4 end-points, so I have 4 sessions >> in my >> configuration file...is there a benefit to using the >> ThreadedSocketInitiator as opposed to just the SocketInitiator? > > This is a classic trade-off. if you need all your incoming messages to > be processed in order they are coming in across all connections, then > use the regular SocketInitiator. > If the 4 connections are totally unrelated then you can process them > concurrently using the ThreadedSocketInitiator > >> >> 2.) If one of our end-point's connection goes down indefinitely, are >> the remaining 3 sessions ok? Say one of the 4 end-points goes down >> momentarily and then goes back up, will the engine reconnect or do I >> have to bring the entire engine down and reconnect all 4 sessions? > > QFJ should reconnect to the lost connection when it comes back u and > renegotiate a logon. > there area various timeout settings you can tweak to modify the > timeout behaviour. > >> 3.) Examples of the custom Initiator classes have a 'System.in' >> statement waiting for a user to hit a key on the keyboard to exit the >> engine. If we want to put this process in the background, this >> isn't a >> feasible design obviously...so I was curious what people are doing to >> build an engine that can be set as a background process and then when >> brought back to the foreground, how is the engine being stopped >> elegantly so the appropriate logout and disconnect procedures occur? >> > > I'd be intersted to hear how others approach this problem as well. For > now, we create the socket initiator and FIX listenrers in Spring, and > then the main thread just goes to sleep (we do a new > Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if you > run it on the console, or with an /etc/init.d script wrapping a 'kill > -9' on our virtual appliance. Here's the code for reference: > http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/ > src/main/java/org/marketcetera/oms/OrderManagementSystem.java#L59 > > > -- > 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: Tommy H. <Tom...@Bo...> - 2007-04-26 17:05:36
|
BTW, another approach to question #3... Use RMI to expose methods to an external process. From there, you can write a simple application that can call these methods (performing whatever tasks you need). I guess another alternative would be to call the hooks in the management extensions if you only need those methods that have already bee exposed. You should also register a shutdown thread. This will get called when the Ctrl-C interrupt is passed to the JVM. You can gracefully close DB connections, files. etc. before you program is terminated. -Tommy On Apr 26, 2007, at 11:54 AM, Tommy Hannon wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > I just started developing with QuickFIX/J last week and am totally > delighted with the ease of use (kinda of like switching to a Mac). > > Most everything you need to manage the "grunt-work" of the protocol > is handled using the "Setting" file as described in the user manual. > Session level stuff, Logon/Logout, heartbeats, resends, all are > handled "under-the-hood" and need not be handled at your application > level code. IMHO, the greatest benefit to new users is the > management extensions. > > Just add a few lines of code to a Java 1.5 codebase and a system > property on the command line; start "jconsole" and connect! (Be sure > to start the console using the same user as your application if > running locally) From there the session attributes page is a real > help. you can view or update values on-the-fly. Go to the > "Operations" tab and you can reset, disconnect, logon, or logoff > individual sessions. > > In general this product is very is easy to use, almost beyond > belief. My suggestion would be to check out the "Creating Your > Application", "Receiving Messages" and "Sending Messages" sections of > the user manual paying attention to the "Most Type Safe" approach. > > Good luck! > > -Tommy > > On Apr 26, 2007, at 10:46 AM, Toli Kuznets wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> Robert, >> >>> 1.) We plan on connecting to 4 end-points, so I have 4 sessions >>> in my >>> configuration file...is there a benefit to using the >>> ThreadedSocketInitiator as opposed to just the SocketInitiator? >> >> This is a classic trade-off. if you need all your incoming >> messages to >> be processed in order they are coming in across all connections, then >> use the regular SocketInitiator. >> If the 4 connections are totally unrelated then you can process them >> concurrently using the ThreadedSocketInitiator >> >>> >>> 2.) If one of our end-point's connection goes down indefinitely, >>> are >>> the remaining 3 sessions ok? Say one of the 4 end-points goes down >>> momentarily and then goes back up, will the engine reconnect or do I >>> have to bring the entire engine down and reconnect all 4 sessions? >> >> QFJ should reconnect to the lost connection when it comes back u and >> renegotiate a logon. >> there area various timeout settings you can tweak to modify the >> timeout behaviour. >> >>> 3.) Examples of the custom Initiator classes have a 'System.in' >>> statement waiting for a user to hit a key on the keyboard to exit >>> the >>> engine. If we want to put this process in the background, this >>> isn't a >>> feasible design obviously...so I was curious what people are >>> doing to >>> build an engine that can be set as a background process and then >>> when >>> brought back to the foreground, how is the engine being stopped >>> elegantly so the appropriate logout and disconnect procedures occur? >>> >> >> I'd be intersted to hear how others approach this problem as well. >> For >> now, we create the socket initiator and FIX listenrers in Spring, and >> then the main thread just goes to sleep (we do a new >> Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if >> you >> run it on the console, or with an /etc/init.d script wrapping a 'kill >> -9' on our virtual appliance. Here's the code for reference: >> http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/ >> src/main/java/org/marketcetera/oms/OrderManagementSystem.java#L59 >> >> >> -- >> 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 >> > > > ---------------------------------------------------------------------- > --- > 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-04-27 07:41:31
|
On 04/26/07 19:05, Tommy Hannon wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > BTW, another approach to question #3... > > Use RMI to expose methods to an external process. From there, you > can write a simple application that can call these methods > (performing whatever tasks you need). I guess another alternative > would be to call the hooks in the management extensions if you only > need those methods that have already bee exposed. > > You should also register a shutdown thread. This will get called > when the Ctrl-C interrupt is passed to the JVM. You can gracefully > close DB connections, files. etc. before you program is terminated. Thread shutdownHook = new Thread( "Gateway.shutdownHook" ) { public void run() { shutdown( "Terminated by runtime system" ); } }; Runtime.getRuntime().addShutdownHook( shutdownHook ); Then in the shutdown() method you can do something like this: acceptor.stop(); Cheers, Jörg > On Apr 26, 2007, at 11:54 AM, Tommy Hannon wrote: > >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> I just started developing with QuickFIX/J last week and am totally >> delighted with the ease of use (kinda of like switching to a Mac). >> >> Most everything you need to manage the "grunt-work" of the protocol >> is handled using the "Setting" file as described in the user manual. >> Session level stuff, Logon/Logout, heartbeats, resends, all are >> handled "under-the-hood" and need not be handled at your application >> level code. IMHO, the greatest benefit to new users is the >> management extensions. >> >> Just add a few lines of code to a Java 1.5 codebase and a system >> property on the command line; start "jconsole" and connect! (Be sure >> to start the console using the same user as your application if >> running locally) From there the session attributes page is a real >> help. you can view or update values on-the-fly. Go to the >> "Operations" tab and you can reset, disconnect, logon, or logoff >> individual sessions. >> >> In general this product is very is easy to use, almost beyond >> belief. My suggestion would be to check out the "Creating Your >> Application", "Receiving Messages" and "Sending Messages" sections of >> the user manual paying attention to the "Most Type Safe" approach. >> >> Good luck! >> >> -Tommy >> >> On Apr 26, 2007, at 10:46 AM, Toli Kuznets wrote: >> >>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >>> QuickFIX/J Support: http://www.quickfixj.org/support/ >>> Robert, >>> >>>> 1.) We plan on connecting to 4 end-points, so I have 4 sessions >>>> in my >>>> configuration file...is there a benefit to using the >>>> ThreadedSocketInitiator as opposed to just the SocketInitiator? >>> This is a classic trade-off. if you need all your incoming >>> messages to >>> be processed in order they are coming in across all connections, then >>> use the regular SocketInitiator. >>> If the 4 connections are totally unrelated then you can process them >>> concurrently using the ThreadedSocketInitiator >>> >>>> 2.) If one of our end-point's connection goes down indefinitely, >>>> are >>>> the remaining 3 sessions ok? Say one of the 4 end-points goes down >>>> momentarily and then goes back up, will the engine reconnect or do I >>>> have to bring the entire engine down and reconnect all 4 sessions? >>> QFJ should reconnect to the lost connection when it comes back u and >>> renegotiate a logon. >>> there area various timeout settings you can tweak to modify the >>> timeout behaviour. >>> >>>> 3.) Examples of the custom Initiator classes have a 'System.in' >>>> statement waiting for a user to hit a key on the keyboard to exit >>>> the >>>> engine. If we want to put this process in the background, this >>>> isn't a >>>> feasible design obviously...so I was curious what people are >>>> doing to >>>> build an engine that can be set as a background process and then >>>> when >>>> brought back to the foreground, how is the engine being stopped >>>> elegantly so the appropriate logout and disconnect procedures occur? >>>> >>> I'd be intersted to hear how others approach this problem as well. >>> For >>> now, we create the socket initiator and FIX listenrers in Spring, and >>> then the main thread just goes to sleep (we do a new >>> Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if >>> you >>> run it on the console, or with an /etc/init.d script wrapping a 'kill >>> -9' on our virtual appliance. Here's the code for reference: >>> http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/ >>> src/main/java/org/marketcetera/oms/OrderManagementSystem.java#L59 >>> >>> >>> -- >>> 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 >>> >> >> ---------------------------------------------------------------------- >> --- >> 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 >> > > > ------------------------------------------------------------------------- > 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: Robert B. <rbr...@me...> - 2007-04-26 17:33:17
|
Awesome. Thanks guys for all your help! The JMX and jconsole suggestions were perfect and exactly what I was looking for. Much appreciated! Thanks, Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 =20 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Joerg T. <Joe...@ma...> - 2007-04-27 08:10:47
|
On 04/26/07 17:46, Toli Kuznets wrote: >> 3.) Examples of the custom Initiator classes have a 'System.in' >> statement waiting for a user to hit a key on the keyboard to exit the >> engine. If we want to put this process in the background, this isn't a >> feasible design obviously...so I was curious what people are doing to >> build an engine that can be set as a background process and then when >> brought back to the foreground, how is the engine being stopped >> elegantly so the appropriate logout and disconnect procedures occur? > > I'd be intersted to hear how others approach this problem as well. For > now, we create the socket initiator and FIX listenrers in Spring, and > then the main thread just goes to sleep (we do a new > Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if you > run it on the console, or with an /etc/init.d script wrapping a 'kill > -9' on our virtual appliance. Here's the code for reference: > http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/src/main/java/org/marketcetera/oms/OrderManagementSystem.java#L59 On UNIX, you can send your process into background by a double-fork: You start a background process starter & and this starter process starts your application into the background: starter: application </dev/null >logfile 2>&1 & echo $! >application.pid exit Now this process is a real daemon, ie child of the init process with PID 1. In addition, it is not tight to a terminal by redirecting stdin ("<"), stdout (">") and stderr ( "2>" ). You can also consider to put this in your own process group if you enable the monitor mode in the bash: set -m Then every background process started with "&" is put into his own process group. The PID of the initial process is then the process group id. To kill all processes in this group: kill -$PID (i.e. the negative value) Using the saved "application.pid" you can stop this process using kill $(< application.pid) # bash kill `cat application.pid` # bourne shell This signal is then catched by the shutdown handler (copy from previous posting): Thread shutdownHook = new Thread( "Gateway.shutdownHook" ) { public void run() { shutdown( "Terminated by runtime system" ); } }; Runtime.getRuntime().addShutdownHook( shutdownHook ); Then in the shutdown() method you can do something like this: acceptor.stop(); Hope this helps! I have no idea how to do this using Windows since I simply do not use it for anything. Cheers, Jörg -- 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: Alex M. <ale...@eu...> - 2007-04-27 10:15:13
|
Hi Tommy, I was interested to read your note below about updating session attributes on the fly. Does this include new SenderCompID values? Could you describe the process for starting the console and connecting in a bit more detail? Thanks in advance, Alex -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Tommy Hannon Sent: 26 April 2007 17:54 To: qui...@li... Subject: Re: [Quickfixj-users] newbie questions QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ I just started developing with QuickFIX/J last week and am totally =20 delighted with the ease of use (kinda of like switching to a Mac). Most everything you need to manage the "grunt-work" of the protocol =20 is handled using the "Setting" file as described in the user manual. =20 Session level stuff, Logon/Logout, heartbeats, resends, all are =20 handled "under-the-hood" and need not be handled at your application =20 level code. IMHO, the greatest benefit to new users is the =20 management extensions. Just add a few lines of code to a Java 1.5 codebase and a system =20 property on the command line; start "jconsole" and connect! (Be sure =20 to start the console using the same user as your application if =20 running locally) From there the session attributes page is a real =20 help. you can view or update values on-the-fly. Go to the =20 "Operations" tab and you can reset, disconnect, logon, or logoff =20 individual sessions. In general this product is very is easy to use, almost beyond =20 belief. My suggestion would be to check out the "Creating Your =20 Application", "Receiving Messages" and "Sending Messages" sections of =20 the user manual paying attention to the "Most Type Safe" approach. Good luck! -Tommy On Apr 26, 2007, at 10:46 AM, Toli Kuznets wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Robert, > >> 1.) We plan on connecting to 4 end-points, so I have 4 sessions =20 >> in my >> configuration file...is there a benefit to using the >> ThreadedSocketInitiator as opposed to just the SocketInitiator? > > This is a classic trade-off. if you need all your incoming messages to > be processed in order they are coming in across all connections, then > use the regular SocketInitiator. > If the 4 connections are totally unrelated then you can process them > concurrently using the ThreadedSocketInitiator > >> >> 2.) If one of our end-point's connection goes down indefinitely, are >> the remaining 3 sessions ok? Say one of the 4 end-points goes down >> momentarily and then goes back up, will the engine reconnect or do I >> have to bring the entire engine down and reconnect all 4 sessions? > > QFJ should reconnect to the lost connection when it comes back u and > renegotiate a logon. > there area various timeout settings you can tweak to modify the > timeout behaviour. > >> 3.) Examples of the custom Initiator classes have a 'System.in' >> statement waiting for a user to hit a key on the keyboard to exit the >> engine. If we want to put this process in the background, this =20 >> isn't a >> feasible design obviously...so I was curious what people are doing to >> build an engine that can be set as a background process and then when >> brought back to the foreground, how is the engine being stopped >> elegantly so the appropriate logout and disconnect procedures occur? >> > > I'd be intersted to hear how others approach this problem as well. For > now, we create the socket initiator and FIX listenrers in Spring, and > then the main thread just goes to sleep (we do a new > Semaphore(0).wait()). The OMS is then killed by pressing Ctrl-C if you > run it on the console, or with an /etc/init.d script wrapping a 'kill > -9' on our virtual appliance. Here's the code for reference: > http://trac.marketcetera.org/trac.fcgi/browser/platform/trunk/oms/=20 > src/main/java/org/marketcetera/oms/OrderManagementSystem.java#L59 > > > --=20 > 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 > ------------------------------------------------------------------------ - 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: Brad H. <Bra...@gb...> - 2007-04-26 22:18:55
|
Hi Rob, My guess is that it is because Oracle treats the empty string as NULL. Try setting a session qualifier in your configuration to see if that helps. =20 Regards, Brad. -----Original Message----- From: qui...@li... [mailto:qui...@li...] On Behalf Of Robert Brueckmann Sent: Friday, 27 April 2007 12:24 AM To: qui...@li... Subject: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ I have another question regarding jdbc logging. We use an oracle database. My dba set up all of the tables based on the sample SQL scripts for the mysql database. When I fire up the engine which is configured with one session, I get the following log output to the console: ------- beginning initiator... 2007-04-26 10:19:06,478 DEBUG [main] proxool.ShutdownHook (ShutdownHook.java:73) - Registered shutdownHook 2007-04-26 10:19:06,509 DEBUG [main] proxool.HouseKeeperController (HouseKeeperController.java:84) - Registering 'quickfixj-1' house keeper 2007-04-26 10:19:06,509 DEBUG [main] proxool.HouseKeeperController (HouseKeeperController.java:92) - Starting a house keeper thread 2007-04-26 10:19:06,697 DEBUG [main] proxool.ConnectionResetter (ConnectionResetter.java:168) - Remembering default value: isReadOnly() =3D false 2007-04-26 10:19:06,712 DEBUG [main] proxool.ConnectionResetter (ConnectionResetter.java:168) - Remembering default value: getHoldability() =3D 1 2007-04-26 10:19:06,728 DEBUG [main] proxool.ConnectionResetter (ConnectionResetter.java:168) - Remembering default value: getTransactionIsolation() =3D 2 2007-04-26 10:19:06,743 DEBUG [main] proxool.ConnectionResetter (ConnectionResetter.java:168) - Remembering default value: getTypeMap() =3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory} 2007-04-26 10:19:06,743 DEBUG [main] proxool.ConnectionResetter (ConnectionResetter.java:168) - Remembering default value: getCatalog() =3D null 2007-04-26 10:19:06,743 INFO [main] proxool.ConnectionPool (ConnectionPool.java:623) - Proxool statistics legend: "s - r (a/t/o)" > s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, = t=3Dtotal, o=3Doffline (being tested) 2007-04-26 10:19:06,743 DEBUG [main] proxool.Prototyper (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on demand =3D ACTIVE 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.internal.ClientDataSupport 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.OracleConnection 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.internal.OracleConnection 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface java.sql.Connection 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.sql.ClobDBAccess 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.sql.BlobDBAccess 2007-04-26 10:19:06,993 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.sql.BfileDBAccess 2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface java.sql.Statement 2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.OracleStatement 2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.OraclePreparedStatement 2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface java.sql.PreparedStatement 2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.internal.OraclePreparedStatement 2007-04-26 10:19:08,243 DEBUG [main] proxool.ProxyFactory (ProxyFactory.java:209) - Implementing interface oracle.jdbc.internal.OracleStatement quickfix.ConfigError: error during session initialization at quickfix.mina.initiator.AbstractSocketInitiator.createSessions(AbstractS ocketInitiator.java:132) at quickfix.mina.initiator.AbstractSocketInitiator.<init>(AbstractSocketIni tiator.java:73) at quickfix.mina.initiator.AbstractSocketInitiator.<init>(AbstractSocketIni tiator.java:65) at quickfix.ThreadedSocketInitiator.<init>(ThreadedSocketInitiator.java:32) at com.merlin.pb.fix.MerlinFIXInitiator.main(MerlinFIXInitiator.java:111) Caused by: java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("FIX"."SESSIONS"."SESSION_QUALIFIER") at quickfix.JdbcStoreFactory.create(JdbcStoreFactory.java:44) at quickfix.Session.<init>(Session.java:270) at quickfix.DefaultSessionFactory.create(DefaultSessionFactory.java:152) at quickfix.mina.SessionConnector.createSession(SessionConnector.java:112) at quickfix.mina.initiator.AbstractSocketInitiator.createSessions(AbstractS ocketInitiator.java:126) ... 4 more Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("FIX"."SESSIONS"."SESSION_QUALIFIER") at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:12 5) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272) at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.jav a:182) at oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStat ement.java:630) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement. java:1081) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePrepare dStatement.java:2905) at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStateme nt.java:2996) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:100 ) at org.logicalcobwebs.proxool.ProxyStatement.intercept(ProxyStatement.java: 57) at $java.sql.Statement$$EnhancerByProxool$$a742985f.execute(<generated>) at quickfix.JdbcStore.loadCache(JdbcStore.java:130) at quickfix.JdbcStore.<init>(JdbcStore.java:65) at quickfix.JdbcStoreFactory.create(JdbcStoreFactory.java:42) ... 8 more 2007-04-26 10:19:08,993 DEBUG [ShutdownHook] proxool.ShutdownHook (ShutdownHook.java:93) - Running ShutdownHook 2007-04-26 10:19:08,993 INFO [Shutdown Hook] proxool.ConnectionPool (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool immediately [Shutdown Hook] 2007-04-26 10:19:09,009 DEBUG [Shutdown Hook] proxool.ConnectionPool (ConnectionPool.java:447) - 000001 (00/00/00) - #0001 removed because of shutdown. 2007-04-26 10:19:09,009 DEBUG [Shutdown Hook] proxool.ConnectionPool (ConnectionPool.java:553) - Connection #1 closed 2007-04-26 10:19:09,009 INFO [Shutdown Hook] proxool.ConnectionPool (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by Shutdown Hook in 16 milliseconds. 2007-04-26 10:19:09,009 INFO [Shutdown Hook] proxool.PrototyperController (PrototyperController.java:100) - Stopping Prototyper thread 2007-04-26 10:19:09,009 INFO [Shutdown Hook] proxool.HouseKeeperController (HouseKeeperController.java:107) - Stopping HouseKeeper thread ----- Why is it trying to insert NULL initially in a column specifically set to NOT NULL? Is this JDBC logging just not compatible with an oracle back-end? We're using the latest oracle jdbc drivers and the latest release of the quickfix/j engine...any thoughts? Thanks, Rob Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 =20 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one of its affiliates, that may be confidential and privileged. If you are not an intended recipient, please refrain from any disclosure, copying, distribution or use of this information and note that such actions are prohibited. If you have received this transmission in error, please notify the sender immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered through Merlin Securities, LLC are not insured by the FDIC or any other Federal Government Agency, are not deposits of or guaranteed by Merlin Securities, LLC and may lose value. Nothing in this communication shall constitute a solicitation or recommendation to buy or sell a particular security. ------------------------------------------------------------------------ - 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-04-27 05:17:07
|
> My guess is that it is because Oracle treats the empty string as NULL. > Try setting a session qualifier in your configuration to see if that > helps. Brad is correct. You'll need to remove the NOT NULL constraint on the session qualifier column since the value defaults to an empty string and Oracle will treat this as a NULL. |
|
From: Robert B. <rbr...@me...> - 2007-04-27 17:45:09
|
We've removed the NOT NULL constraint (kind of weird since this olumn is
part of the primary key and by oracle standards a column in the primary
key can't be not null so we had to remove that constraint as well...so
we removed these constraints and fired it up...no exceptions now but now
the engine starts up...logs a few messages to the screen which I'll
paste below and then immediately shuts down with no exception or message
of why it's immediately shutting down.
Any thoughts?!?
Here's the console output:
2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook
(ShutdownHook.java:73) - Registered shutdownHook
2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController
(HouseKeeperController.java:84) - Registering 'quickfixj-1' house keeper
2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController
(HouseKeeperController.java:92) - Starting a house keeper thread
2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value: isReadOnly()
=3D false
2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value:
getHoldability() =3D 1
2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value:
getTransactionIsolation() =3D 2
2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value: getTypeMap()
=3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory}
2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter
(ConnectionResetter.java:168) - Remembering default value: getCatalog()
=3D null
2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool
(ConnectionPool.java:623) - Proxool statistics legend: "s - r (a/t/o)"
> s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, t=3Dtotal,
o=3Doffline (being tested)
2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper
(Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on
demand =3D ACTIVE
2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.ClientDataSupport
2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.OracleConnection
2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.OracleConnection
2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface java.sql.Connection
2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface oracle.sql.ClobDBAccess
2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface oracle.sql.BlobDBAccess
2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.sql.BfileDBAccess
2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface java.sql.Statement
2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.OracleStatement
2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.OraclePreparedStatement
2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
java.sql.PreparedStatement
2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.OraclePreparedStatement
2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
(ProxyFactory.java:209) - Implementing interface
oracle.jdbc.internal.OracleStatement
2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook
(ShutdownHook.java:93) - Running ShutdownHook
2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool immediately
[Shutdown Hook]
2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because of
shutdown.
2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:553) - Connection #1 closed
2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool
(ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by
Shutdown Hook in 15 milliseconds.
2007-04-27 13:38:28,589 INFO [Shutdown Hook]
proxool.PrototyperController (PrototyperController.java:100) - Stopping
Prototyper thread
2007-04-27 13:38:28,589 INFO [Shutdown Hook]
proxool.HouseKeeperController (HouseKeeperController.java:107) -
Stopping HouseKeeper thread
Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S=
trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007
=20
--------------------------------------------------------
This message contains information from Merlin Securities, LLC, or from one =
of its affiliates, that may be confidential and privileged. If you are not =
an intended recipient, please refrain from any disclosure, copying, distrib=
ution or use of this information and note that such actions are prohibited.=
If you have received this transmission in error, please notify the sender =
immediately by telephone or by replying to this transmission.
=20
Merlin Securities, LLC is a registered broker-dealer. Services offered thro=
ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal=
Government Agency, are not deposits of or guaranteed by Merlin Securities,=
LLC and may lose value. Nothing in this communication shall constitute a s=
olicitation or recommendation to buy or sell a particular security.
|
|
From: Robert B. <rbr...@me...> - 2007-04-27 17:50:36
|
To add to this, I checked with the DBA and both times I fired up the engine, it inserted a message in the Sessions table and the Event_Log table...but then the engine just dies. I see in the output I pasted in my last email that Connection #1 is closed...no other explanation though and I'm assuming this is the cause of the problem...but it's certainly nothing we're doing on the database side of things...just thought I'd add that bit of info. Thanks, Rob Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 =20 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Steve B. <st...@te...> - 2007-04-27 20:43:08
|
This looks like something is either calling System.exit() or the main function is exiting. I'd look there first. Is there any related information in your session-specific log or does it not get that far? > -----Original Message----- > From: qui...@li... > [mailto:qui...@li...]On Behalf Of > Robert Brueckmann > Sent: Friday, April 27, 2007 1:45 PM > To: qui...@li... > Subject: Re: [Quickfixj-users] jdbc logging > > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > We've removed the NOT NULL constraint (kind of weird since this olumn is > part of the primary key and by oracle standards a column in the primary > key can't be not null so we had to remove that constraint as well...so > we removed these constraints and fired it up...no exceptions now but now > the engine starts up...logs a few messages to the screen which I'll > paste below and then immediately shuts down with no exception or message > of why it's immediately shutting down. > > Any thoughts?!? > > Here's the console output: > > 2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook > (ShutdownHook.java:73) - Registered shutdownHook > 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController > (HouseKeeperController.java:84) - Registering 'quickfixj-1' house keeper > 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController > (HouseKeeperController.java:92) - Starting a house keeper thread > 2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: isReadOnly() > = false > 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: > getHoldability() = 1 > 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: > getTransactionIsolation() = 2 > 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: getTypeMap() > = {SYS.XMLTYPE=class oracle.xdb.XMLTypeFactory} > 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: getCatalog() > = null > 2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool > (ConnectionPool.java:623) - Proxool statistics legend: "s - r (a/t/o)" > > s=served, r=refused (only shown if non-zero), a=active, t=total, > o=offline (being tested) > 2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper > (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on > demand = ACTIVE > 2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.ClientDataSupport > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.OracleConnection > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.OracleConnection > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface java.sql.Connection > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface oracle.sql.ClobDBAccess > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface oracle.sql.BlobDBAccess > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.sql.BfileDBAccess > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface java.sql.Statement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.OracleStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.OraclePreparedStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > java.sql.PreparedStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.OraclePreparedStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.OracleStatement > 2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook > (ShutdownHook.java:93) - Running ShutdownHook > 2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool immediately > [Shutdown Hook] > 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because of > shutdown. > 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:553) - Connection #1 closed > 2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by > Shutdown Hook in 15 milliseconds. > 2007-04-27 13:38:28,589 INFO [Shutdown Hook] > proxool.PrototyperController (PrototyperController.java:100) - Stopping > Prototyper thread > 2007-04-27 13:38:28,589 INFO [Shutdown Hook] > proxool.HouseKeeperController (HouseKeeperController.java:107) - > Stopping HouseKeeper thread > > Merlin Securities - #1 Prime Broker North America, #1 Prime > Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M - > Global Custodian 2007 > > > > > -------------------------------------------------------- > > This message contains information from Merlin Securities, LLC, or > from one of its affiliates, that may be confidential and > privileged. If you are not an intended recipient, please refrain > from any disclosure, copying, distribution or use of this > information and note that such actions are prohibited. If you > have received this transmission in error, please notify the > sender immediately by telephone or by replying to this transmission. > > Merlin Securities, LLC is a registered broker-dealer. Services > offered through Merlin Securities, LLC are not insured by the > FDIC or any other Federal Government Agency, are not deposits of > or guaranteed by Merlin Securities, LLC and may lose value. > Nothing in this communication shall constitute a solicitation or > recommendation to buy or sell a particular security. > > > > ------------------------------------------------------------------------- > 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: Robert B. <rbr...@me...> - 2007-04-30 13:48:56
|
Hi Steve, In the 'sessions' table a record is inserted with the seq numbers, begin string, comp and target ids, etc (session_qualifier is NULL)...then immediately afterwards, the 'event_log' table gets 3 messages inserted (session_qualifier is NULL here as well) and the 3 text messages of the 3 records indicate the session information with the start and end times, then a message claiming the session was created, then the final message explaining the valid order types. Then the engine quietly shuts down as you see in the log I pasted below. There are NO System.exit()s anywhere in my code...the only way this code can exit is by someone hitting ctrl+c on the command-line...there's no programmatic exiting in my code...and being the log below gives no explanation...and if I switch back to the standard file-based logging, this works fine and the engine starts processing incoming messages, I'm a little perplexed. Any further insight? Thanks! Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:qui...@li...] On Behalf Of Steve Bate Sent: Friday, April 27, 2007 4:43 PM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ This looks like something is either calling System.exit() or the main function is exiting. I'd look there first. Is there any=20 related information in your session-specific log or does it not get that far?=20 > -----Original Message----- > From: qui...@li... > [mailto:qui...@li...]On Behalf Of > Robert Brueckmann > Sent: Friday, April 27, 2007 1:45 PM > To: qui...@li... > Subject: Re: [Quickfixj-users] jdbc logging >=20 >=20 > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > We've removed the NOT NULL constraint (kind of weird since this olumn is > part of the primary key and by oracle standards a column in the primary > key can't be not null so we had to remove that constraint as well...so > we removed these constraints and fired it up...no exceptions now but now > the engine starts up...logs a few messages to the screen which I'll > paste below and then immediately shuts down with no exception or message > of why it's immediately shutting down. >=20 > Any thoughts?!? >=20 > Here's the console output: >=20 > 2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook > (ShutdownHook.java:73) - Registered shutdownHook > 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController > (HouseKeeperController.java:84) - Registering 'quickfixj-1' house keeper > 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController > (HouseKeeperController.java:92) - Starting a house keeper thread > 2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: isReadOnly() > =3D false > 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: > getHoldability() =3D 1 > 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: > getTransactionIsolation() =3D 2 > 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: getTypeMap() > =3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory} > 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter > (ConnectionResetter.java:168) - Remembering default value: getCatalog() > =3D null > 2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool > (ConnectionPool.java:623) - Proxool statistics legend: "s - r (a/t/o)" > > s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, t=3Dtotal, > o=3Doffline (being tested) > 2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper > (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on > demand =3D ACTIVE > 2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.ClientDataSupport > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.OracleConnection > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.OracleConnection > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface java.sql.Connection > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface oracle.sql.ClobDBAccess > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface oracle.sql.BlobDBAccess > 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.sql.BfileDBAccess > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface java.sql.Statement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.OracleStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.OraclePreparedStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > java.sql.PreparedStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.OraclePreparedStatement > 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory > (ProxyFactory.java:209) - Implementing interface > oracle.jdbc.internal.OracleStatement > 2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook > (ShutdownHook.java:93) - Running ShutdownHook > 2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool immediately > [Shutdown Hook] > 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because of > shutdown. > 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:553) - Connection #1 closed > 2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool > (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by > Shutdown Hook in 15 milliseconds. > 2007-04-27 13:38:28,589 INFO [Shutdown Hook] > proxool.PrototyperController (PrototyperController.java:100) - Stopping > Prototyper thread > 2007-04-27 13:38:28,589 INFO [Shutdown Hook] > proxool.HouseKeeperController (HouseKeeperController.java:107) - > Stopping HouseKeeper thread >=20 > Merlin Securities - #1 Prime Broker North America, #1 Prime=20 > Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M -=20 > Global Custodian 2007 >=20 >=20 >=20=20 >=20 > -------------------------------------------------------- >=20 > This message contains information from Merlin Securities, LLC, or=20 > from one of its affiliates, that may be confidential and=20 > privileged. If you are not an intended recipient, please refrain=20 > from any disclosure, copying, distribution or use of this=20 > information and note that such actions are prohibited. If you=20 > have received this transmission in error, please notify the=20 > sender immediately by telephone or by replying to this transmission. >=20=20 > Merlin Securities, LLC is a registered broker-dealer. Services=20 > offered through Merlin Securities, LLC are not insured by the=20 > FDIC or any other Federal Government Agency, are not deposits of=20 > or guaranteed by Merlin Securities, LLC and may lose value.=20 > Nothing in this communication shall constitute a solicitation or=20 > recommendation to buy or sell a particular security. >=20 >=20 >=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 ------------------------------------------------------------------------ - 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Joerg T. <Joe...@ma...> - 2007-04-30 14:34:01
|
Hi Robert, actually it would be helpful to have some more logging. Therefore, I suggest to use the CompositeLogFactory to log *both* to the file (which works as you say) and to the JDBC. Would be good to see all the logging output in one file. Do you use log4j? Then put the appropriate slf* jar in your CLASSPATH. Cheers, Jörg On 04/30/07 15:48, Robert Brueckmann wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi Steve, > > In the 'sessions' table a record is inserted with the seq numbers, begin > string, comp and target ids, etc (session_qualifier is NULL)...then > immediately afterwards, the 'event_log' table gets 3 messages inserted > (session_qualifier is NULL here as well) and the 3 text messages of the > 3 records indicate the session information with the start and end times, > then a message claiming the session was created, then the final message > explaining the valid order types. Then the engine quietly shuts down as > you see in the log I pasted below. There are NO System.exit()s anywhere > in my code...the only way this code can exit is by someone hitting > ctrl+c on the command-line...there's no programmatic exiting in my > code...and being the log below gives no explanation...and if I switch > back to the standard file-based logging, this works fine and the engine > starts processing incoming messages, I'm a little perplexed. > > Any further insight? > > Thanks! > > > > Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 > > > From: qui...@li... > [mailto:qui...@li...] On Behalf Of > Steve Bate > Sent: Friday, April 27, 2007 4:43 PM > To: qui...@li... > Subject: Re: [Quickfixj-users] jdbc logging > > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > This looks like something is either calling System.exit() or > the main function is exiting. I'd look there first. Is there any > related information in your session-specific log or does it not > get that far? > >> -----Original Message----- >> From: qui...@li... >> [mailto:qui...@li...]On Behalf Of >> Robert Brueckmann >> Sent: Friday, April 27, 2007 1:45 PM >> To: qui...@li... >> Subject: Re: [Quickfixj-users] jdbc logging >> >> >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> We've removed the NOT NULL constraint (kind of weird since this olumn > is >> part of the primary key and by oracle standards a column in the > primary >> key can't be not null so we had to remove that constraint as well...so >> we removed these constraints and fired it up...no exceptions now but > now >> the engine starts up...logs a few messages to the screen which I'll >> paste below and then immediately shuts down with no exception or > message >> of why it's immediately shutting down. >> >> Any thoughts?!? >> >> Here's the console output: >> >> 2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook >> (ShutdownHook.java:73) - Registered shutdownHook >> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController >> (HouseKeeperController.java:84) - Registering 'quickfixj-1' house > keeper >> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController >> (HouseKeeperController.java:92) - Starting a house keeper thread >> 2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > isReadOnly() >> = false >> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: >> getHoldability() = 1 >> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: >> getTransactionIsolation() = 2 >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > getTypeMap() >> = {SYS.XMLTYPE=class oracle.xdb.XMLTypeFactory} >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > getCatalog() >> = null >> 2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool >> (ConnectionPool.java:623) - Proxool statistics legend: "s - r > (a/t/o)" >>> s=served, r=refused (only shown if non-zero), a=active, t=total, >> o=offline (being tested) >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper >> (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on >> demand = ACTIVE >> 2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.ClientDataSupport >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OracleConnection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OracleConnection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface java.sql.Connection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface > oracle.sql.ClobDBAccess >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface > oracle.sql.BlobDBAccess >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.sql.BfileDBAccess >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface java.sql.Statement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OracleStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OraclePreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> java.sql.PreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OraclePreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OracleStatement >> 2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook >> (ShutdownHook.java:93) - Running ShutdownHook >> 2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool > immediately >> [Shutdown Hook] >> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because > of >> shutdown. >> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:553) - Connection #1 closed >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by >> Shutdown Hook in 15 milliseconds. >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] >> proxool.PrototyperController (PrototyperController.java:100) - > Stopping >> Prototyper thread >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] >> proxool.HouseKeeperController (HouseKeeperController.java:107) - >> Stopping HouseKeeper thread >> >> Merlin Securities - #1 Prime Broker North America, #1 Prime >> Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M - >> Global Custodian 2007 >> >> >> >> >> -------------------------------------------------------- >> >> This message contains information from Merlin Securities, LLC, or >> from one of its affiliates, that may be confidential and >> privileged. If you are not an intended recipient, please refrain >> from any disclosure, copying, distribution or use of this >> information and note that such actions are prohibited. If you >> have received this transmission in error, please notify the >> sender immediately by telephone or by replying to this transmission. >> >> Merlin Securities, LLC is a registered broker-dealer. Services >> offered through Merlin Securities, LLC are not insured by the >> FDIC or any other Federal Government Agency, are not deposits of >> or guaranteed by Merlin Securities, LLC and may lose value. >> Nothing in this communication shall constitute a solicitation or >> recommendation to buy or sell a particular security. >> >> >> >> > ------------------------------------------------------------------------ > - >> 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 >> > > ------------------------------------------------------------------------ > - > 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 > > > -------------------------------------------------------- > > This message contains information from Merlin Securities, LLC, or from one of its affiliates, that may be confidential and privileged. If you are not an intended recipient, please refrain from any disclosure, copying, distribution or use of this information and note that such actions are prohibited. If you have received this transmission in error, please notify the sender immediately by telephone or by replying to this transmission. > > Merlin Securities, LLC is a registered broker-dealer. Services offered through Merlin Securities, LLC are not insured by the FDIC or any other Federal Government Agency, are not deposits of or guaranteed by Merlin Securities, LLC and may lose value. Nothing in this communication shall constitute a solicitation or recommendation to buy or sell a particular security. > > > > ------------------------------------------------------------------------- > 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: Robert B. <rbr...@me...> - 2007-04-30 15:26:58
|
J=F6rg,
Ok...oddest thing...when I switched to JdbcLogging, I also simultaneously u=
pgraded my QuickFix/j library from 1.0.3 to 1.1.0. So with the 1.1.0 libra=
ries (including min-0.9.3 and slf4j-1.0.1), I am having the problems I illu=
strated in my previous emails...so I reverted my code to use:
MessageStoreFactory messageStoreFactory =3D new FileStoreFactory(settings);
LogFactory logFactory =3D new ScreenLogFactory(true, true, true, true);
Fired it up...same behavior...the runtime just exits.
So then I left my code in it's original state and reverted the libraries ba=
ck to quickfixj-1.0.3 (and reverted to min-0.9.3 and slf4j-1.0.1 as well), =
fired up my code...same code, came config file)...engine is up and running =
fine...heart beats every 30 seconds, not a problem.
So then I left the 1.0.3 libraries in place and used your suggestion of the=
CompositeLogFactory:
MessageStoreFactory messageStoreFactory =3D new JdbcStoreFactory(settings);
LogFactory[] logFactories =3D {new JdbcLogFactory(settings),
new ScreenLogFactory(true, true, true, true)};
LogFactory logFactory =3D new CompositeLogFactory(logFactories);
Magically fires up without a hitch...logging to database and screen...no pr=
oblems.
Same code, same config files but the 1.1.0 libraries...engine just dies. I=
looked at the Banzai example that came with the 1.1.0 src download to see =
if my Initiator class is missing something that 1.1.0 needs that 1.0.3 wasn=
't doing...or that I personally was doing something crazy, likewise with my=
custom Application class...both are plain vanilla...the only custom thing =
we're doing in the Application class is creating a connection to an Oracle =
queue in the init() method triggered in the main class of the Initiator and=
then simply passing the xml-converted FIX messages to the Oracle queue...w=
orks with qfj-1.0.3...not so much with 1.1.0...I even tried 1.0.5 and those=
don't work either.
Can you think of anything that I might be doing that could cause these libr=
aries to not be backwards compatible with my code?
Thanks for any help!
Rob
Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S=
trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007
From: qui...@li... [mailto:quickfixj-users=
-bo...@li...] On Behalf Of Joerg Thoennes
Sent: Monday, April 30, 2007 10:34 AM
To: qui...@li...
Subject: Re: [Quickfixj-users] jdbc logging
QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
QuickFIX/J Support: http://www.quickfixj.org/support/
Hi Robert,
actually it would be helpful to have some more logging. Therefore, I sugges=
t to use the
CompositeLogFactory to log *both* to the file (which works as you say) and =
to the JDBC.
Would be good to see all the logging output in one file. Do you use log4j?
Then put the appropriate slf* jar in your CLASSPATH.
Cheers, J=F6rg
On 04/30/07 15:48, Robert Brueckmann wrote:
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
> Hi Steve,
>=20
> In the 'sessions' table a record is inserted with the seq numbers, begin
> string, comp and target ids, etc (session_qualifier is NULL)...then
> immediately afterwards, the 'event_log' table gets 3 messages inserted
> (session_qualifier is NULL here as well) and the 3 text messages of the
> 3 records indicate the session information with the start and end times,
> then a message claiming the session was created, then the final message
> explaining the valid order types. Then the engine quietly shuts down as
> you see in the log I pasted below. There are NO System.exit()s anywhere
> in my code...the only way this code can exit is by someone hitting
> ctrl+c on the command-line...there's no programmatic exiting in my
> code...and being the log below gives no explanation...and if I switch
> back to the standard file-based logging, this works fine and the engine
> starts processing incoming messages, I'm a little perplexed.
>=20
> Any further insight?
>=20
> Thanks!
>=20
>=20
>=20
> Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single=
Strategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007
>=20
>=20
> From: qui...@li...
> [mailto:qui...@li...] On Behalf Of
> Steve Bate
> Sent: Friday, April 27, 2007 4:43 PM
> To: qui...@li...
> Subject: Re: [Quickfixj-users] jdbc logging
>=20
> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
> QuickFIX/J Support: http://www.quickfixj.org/support/
> This looks like something is either calling System.exit() or
> the main function is exiting. I'd look there first. Is there any=20
> related information in your session-specific log or does it not
> get that far?=20
>=20
>> -----Original Message-----
>> From: qui...@li...
>> [mailto:qui...@li...]On Behalf Of
>> Robert Brueckmann
>> Sent: Friday, April 27, 2007 1:45 PM
>> To: qui...@li...
>> Subject: Re: [Quickfixj-users] jdbc logging
>>
>>
>> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/
>> QuickFIX/J Support: http://www.quickfixj.org/support/
>> We've removed the NOT NULL constraint (kind of weird since this olumn
> is
>> part of the primary key and by oracle standards a column in the
> primary
>> key can't be not null so we had to remove that constraint as well...so
>> we removed these constraints and fired it up...no exceptions now but
> now
>> the engine starts up...logs a few messages to the screen which I'll
>> paste below and then immediately shuts down with no exception or
> message
>> of why it's immediately shutting down.
>>
>> Any thoughts?!?
>>
>> Here's the console output:
>>
>> 2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook
>> (ShutdownHook.java:73) - Registered shutdownHook
>> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController
>> (HouseKeeperController.java:84) - Registering 'quickfixj-1' house
> keeper
>> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController
>> (HouseKeeperController.java:92) - Starting a house keeper thread
>> 2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter
>> (ConnectionResetter.java:168) - Remembering default value:
> isReadOnly()
>> =3D false
>> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter
>> (ConnectionResetter.java:168) - Remembering default value:
>> getHoldability() =3D 1
>> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter
>> (ConnectionResetter.java:168) - Remembering default value:
>> getTransactionIsolation() =3D 2
>> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter
>> (ConnectionResetter.java:168) - Remembering default value:
> getTypeMap()
>> =3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory}
>> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter
>> (ConnectionResetter.java:168) - Remembering default value:
> getCatalog()
>> =3D null
>> 2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool
>> (ConnectionPool.java:623) - Proxool statistics legend: "s - r
> (a/t/o)"
>>> s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, t=3Dtotal,
>> o=3Doffline (being tested)
>> 2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper
>> (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on
>> demand =3D ACTIVE
>> 2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.internal.ClientDataSupport
>> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.OracleConnection
>> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.internal.OracleConnection
>> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface java.sql.Connection
>> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
> oracle.sql.ClobDBAccess
>> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
> oracle.sql.BlobDBAccess
>> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.sql.BfileDBAccess
>> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface java.sql.Statement
>> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.OracleStatement
>> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.OraclePreparedStatement
>> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> java.sql.PreparedStatement
>> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.internal.OraclePreparedStatement
>> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory
>> (ProxyFactory.java:209) - Implementing interface
>> oracle.jdbc.internal.OracleStatement
>> 2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook
>> (ShutdownHook.java:93) - Running ShutdownHook
>> 2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool
>> (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool
> immediately
>> [Shutdown Hook]
>> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool
>> (ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because
> of
>> shutdown.
>> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool
>> (ConnectionPool.java:553) - Connection #1 closed
>> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool
>> (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by
>> Shutdown Hook in 15 milliseconds.
>> 2007-04-27 13:38:28,589 INFO [Shutdown Hook]
>> proxool.PrototyperController (PrototyperController.java:100) -
> Stopping
>> Prototyper thread
>> 2007-04-27 13:38:28,589 INFO [Shutdown Hook]
>> proxool.HouseKeeperController (HouseKeeperController.java:107) -
>> Stopping HouseKeeper thread
>>
>> Merlin Securities - #1 Prime Broker North America, #1 Prime=20
>> Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M -=20
>> Global Custodian 2007
>>
>>
>>=20=20
>>
>> --------------------------------------------------------
>>
>> This message contains information from Merlin Securities, LLC, or=20
>> from one of its affiliates, that may be confidential and=20
>> privileged. If you are not an intended recipient, please refrain=20
>> from any disclosure, copying, distribution or use of this=20
>> information and note that such actions are prohibited. If you=20
>> have received this transmission in error, please notify the=20
>> sender immediately by telephone or by replying to this transmission.
>>=20=20
>> Merlin Securities, LLC is a registered broker-dealer. Services=20
>> offered through Merlin Securities, LLC are not insured by the=20
>> FDIC or any other Federal Government Agency, are not deposits of=20
>> or guaranteed by Merlin Securities, LLC and may lose value.=20
>> Nothing in this communication shall constitute a solicitation or=20
>> recommendation to buy or sell a particular security.
>>
>>
>>
>>
> ------------------------------------------------------------------------
> -
>> 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
> ------------------------------------------------------------------------
> -
> 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=20
>=20
> --------------------------------------------------------
>=20
> This message contains information from Merlin Securities, LLC, or from on=
e of its affiliates, that may be confidential and privileged. If you are no=
t an intended recipient, please refrain from any disclosure, copying, distr=
ibution or use of this information and note that such actions are prohibite=
d. If you have received this transmission in error, please notify the sende=
r immediately by telephone or by replying to this transmission.
>=20=20
> Merlin Securities, LLC is a registered broker-dealer. Services offered th=
rough Merlin Securities, LLC are not insured by the FDIC or any other Feder=
al Government Agency, are not deposits of or guaranteed by Merlin Securitie=
s, LLC and may lose value. Nothing in this communication shall constitute a=
solicitation or recommendation to buy or sell a particular security.
>=20
>=20
>=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, Ust.-Id D=
E813021663
-------------------------------------------------------------------------
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
--------------------------------------------------------
This message contains information from Merlin Securities, LLC, or from one =
of its affiliates, that may be confidential and privileged. If you are not =
an intended recipient, please refrain from any disclosure, copying, distrib=
ution or use of this information and note that such actions are prohibited.=
If you have received this transmission in error, please notify the sender =
immediately by telephone or by replying to this transmission.
=20
Merlin Securities, LLC is a registered broker-dealer. Services offered thro=
ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal=
Government Agency, are not deposits of or guaranteed by Merlin Securities,=
LLC and may lose value. Nothing in this communication shall constitute a s=
olicitation or recommendation to buy or sell a particular security.
|
|
From: Robert B. <rbr...@me...> - 2007-04-30 15:30:26
|
To clarify, in my first paragraph I typed the wrong versions of the min and= slfj libraries...I'm definitely using the min and slfj libraries that come= with the 1.1.0 qfj download...and when I reverted to qfj-1.0.3, I reverted= the min and slfj libraries as well...I was very careful about this... Thanks! =20 robert l. brueckmann vice president merlin securities 712 fifth avenue new york, ny 10019 p: 212.822.4821 f: 212.822.4820 Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:quickfixj-users= -bo...@li...] On Behalf Of Robert Brueckmann Sent: Monday, April 30, 2007 11:26 AM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ J=F6rg, Ok...oddest thing...when I switched to JdbcLogging, I also simultaneously u= pgraded my QuickFix/j library from 1.0.3 to 1.1.0. So with the 1.1.0 libra= ries (including min-0.9.3 and slf4j-1.0.1), I am having the problems I illu= strated in my previous emails...so I reverted my code to use: MessageStoreFactory messageStoreFactory =3D new FileStoreFactory(settings); LogFactory logFactory =3D new ScreenLogFactory(true, true, true, true); Fired it up...same behavior...the runtime just exits. So then I left my code in it's original state and reverted the libraries ba= ck to quickfixj-1.0.3 (and reverted to min-0.9.3 and slf4j-1.0.1 as well), = fired up my code...same code, came config file)...engine is up and running = fine...heart beats every 30 seconds, not a problem. So then I left the 1.0.3 libraries in place and used your suggestion of the= CompositeLogFactory: MessageStoreFactory messageStoreFactory =3D new JdbcStoreFactory(settings); LogFactory[] logFactories =3D {new JdbcLogFactory(settings), new ScreenLogFactory(true, true, true, true)}; LogFactory logFactory =3D new CompositeLogFactory(logFactories); Magically fires up without a hitch...logging to database and screen...no pr= oblems. Same code, same config files but the 1.1.0 libraries...engine just dies. I= looked at the Banzai example that came with the 1.1.0 src download to see = if my Initiator class is missing something that 1.1.0 needs that 1.0.3 wasn= 't doing...or that I personally was doing something crazy, likewise with my= custom Application class...both are plain vanilla...the only custom thing = we're doing in the Application class is creating a connection to an Oracle = queue in the init() method triggered in the main class of the Initiator and= then simply passing the xml-converted FIX messages to the Oracle queue...w= orks with qfj-1.0.3...not so much with 1.1.0...I even tried 1.0.5 and those= don't work either. Can you think of anything that I might be doing that could cause these libr= aries to not be backwards compatible with my code? Thanks for any help! Rob Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:quickfixj-users= -bo...@li...] On Behalf Of Joerg Thoennes Sent: Monday, April 30, 2007 10:34 AM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hi Robert, actually it would be helpful to have some more logging. Therefore, I sugges= t to use the CompositeLogFactory to log *both* to the file (which works as you say) and = to the JDBC. Would be good to see all the logging output in one file. Do you use log4j? Then put the appropriate slf* jar in your CLASSPATH. Cheers, J=F6rg On 04/30/07 15:48, Robert Brueckmann wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi Steve, >=20 > In the 'sessions' table a record is inserted with the seq numbers, begin > string, comp and target ids, etc (session_qualifier is NULL)...then > immediately afterwards, the 'event_log' table gets 3 messages inserted > (session_qualifier is NULL here as well) and the 3 text messages of the > 3 records indicate the session information with the start and end times, > then a message claiming the session was created, then the final message > explaining the valid order types. Then the engine quietly shuts down as > you see in the log I pasted below. There are NO System.exit()s anywhere > in my code...the only way this code can exit is by someone hitting > ctrl+c on the command-line...there's no programmatic exiting in my > code...and being the log below gives no explanation...and if I switch > back to the standard file-based logging, this works fine and the engine > starts processing incoming messages, I'm a little perplexed. >=20 > Any further insight? >=20 > Thanks! >=20 >=20 >=20 > Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single= Strategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 >=20 >=20 > From: qui...@li... > [mailto:qui...@li...] On Behalf Of > Steve Bate > Sent: Friday, April 27, 2007 4:43 PM > To: qui...@li... > Subject: Re: [Quickfixj-users] jdbc logging >=20 > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > This looks like something is either calling System.exit() or > the main function is exiting. I'd look there first. Is there any=20 > related information in your session-specific log or does it not > get that far?=20 >=20 >> -----Original Message----- >> From: qui...@li... >> [mailto:qui...@li...]On Behalf Of >> Robert Brueckmann >> Sent: Friday, April 27, 2007 1:45 PM >> To: qui...@li... >> Subject: Re: [Quickfixj-users] jdbc logging >> >> >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> We've removed the NOT NULL constraint (kind of weird since this olumn > is >> part of the primary key and by oracle standards a column in the > primary >> key can't be not null so we had to remove that constraint as well...so >> we removed these constraints and fired it up...no exceptions now but > now >> the engine starts up...logs a few messages to the screen which I'll >> paste below and then immediately shuts down with no exception or > message >> of why it's immediately shutting down. >> >> Any thoughts?!? >> >> Here's the console output: >> >> 2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook >> (ShutdownHook.java:73) - Registered shutdownHook >> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController >> (HouseKeeperController.java:84) - Registering 'quickfixj-1' house > keeper >> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController >> (HouseKeeperController.java:92) - Starting a house keeper thread >> 2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > isReadOnly() >> =3D false >> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: >> getHoldability() =3D 1 >> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: >> getTransactionIsolation() =3D 2 >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > getTypeMap() >> =3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory} >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > getCatalog() >> =3D null >> 2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool >> (ConnectionPool.java:623) - Proxool statistics legend: "s - r > (a/t/o)" >>> s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, t=3Dtotal, >> o=3Doffline (being tested) >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper >> (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on >> demand =3D ACTIVE >> 2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.ClientDataSupport >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OracleConnection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OracleConnection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface java.sql.Connection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface > oracle.sql.ClobDBAccess >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface > oracle.sql.BlobDBAccess >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.sql.BfileDBAccess >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface java.sql.Statement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OracleStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OraclePreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> java.sql.PreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OraclePreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OracleStatement >> 2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook >> (ShutdownHook.java:93) - Running ShutdownHook >> 2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool > immediately >> [Shutdown Hook] >> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because > of >> shutdown. >> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:553) - Connection #1 closed >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by >> Shutdown Hook in 15 milliseconds. >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] >> proxool.PrototyperController (PrototyperController.java:100) - > Stopping >> Prototyper thread >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] >> proxool.HouseKeeperController (HouseKeeperController.java:107) - >> Stopping HouseKeeper thread >> >> Merlin Securities - #1 Prime Broker North America, #1 Prime=20 >> Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M -=20 >> Global Custodian 2007 >> >> >>=20=20 >> >> -------------------------------------------------------- >> >> This message contains information from Merlin Securities, LLC, or=20 >> from one of its affiliates, that may be confidential and=20 >> privileged. If you are not an intended recipient, please refrain=20 >> from any disclosure, copying, distribution or use of this=20 >> information and note that such actions are prohibited. If you=20 >> have received this transmission in error, please notify the=20 >> sender immediately by telephone or by replying to this transmission. >>=20=20 >> Merlin Securities, LLC is a registered broker-dealer. Services=20 >> offered through Merlin Securities, LLC are not insured by the=20 >> FDIC or any other Federal Government Agency, are not deposits of=20 >> or guaranteed by Merlin Securities, LLC and may lose value.=20 >> Nothing in this communication shall constitute a solicitation or=20 >> recommendation to buy or sell a particular security. >> >> >> >> > ------------------------------------------------------------------------ > - >> 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 > ------------------------------------------------------------------------ > - > 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=20 >=20 > -------------------------------------------------------- >=20 > This message contains information from Merlin Securities, LLC, or from on= e of its affiliates, that may be confidential and privileged. If you are no= t an intended recipient, please refrain from any disclosure, copying, distr= ibution or use of this information and note that such actions are prohibite= d. If you have received this transmission in error, please notify the sende= r immediately by telephone or by replying to this transmission. >=20=20 > Merlin Securities, LLC is a registered broker-dealer. Services offered th= rough Merlin Securities, LLC are not insured by the FDIC or any other Feder= al Government Agency, are not deposits of or guaranteed by Merlin Securitie= s, LLC and may lose value. Nothing in this communication shall constitute a= solicitation or recommendation to buy or sell a particular security. >=20 >=20 >=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, Ust.-Id D= E813021663 ------------------------------------------------------------------------- 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. ------------------------------------------------------------------------- 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Robert B. <rbr...@me...> - 2007-04-30 15:50:20
|
Ok...I was just kidding about the composite logging with JDBC using qfj-1.0= .3...it starts up ok and then once the heartbeats begin I get 100s of the f= ollowing exception: (We are already in the process of making 1 connections and the number of si= multaneous builds has been throttled to 0 java.sql.SQLException: We are already in the process of making 1 connection= s and the number of simultaneous builds has been throttled to 0 Not sure what the heck is going on...at least I'm getting an exception with= qfj-1.0.3 though...1.1.0 just dies with no explanation. I'm beginning to think that maybe jdbc logging just isn't meant to play nic= e with Oracle?=20=20 I'm still baffled though why my FileStoreFactory code (no JDBC logging) wil= l not work with the 1.1.0 libraries though... robert l. brueckmann vice president merlin securities 712 fifth avenue new york, ny 10019 p: 212.822.4821 f: 212.822.4820 Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:quickfixj-users= -bo...@li...] On Behalf Of Robert Brueckmann Sent: Monday, April 30, 2007 11:30 AM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ To clarify, in my first paragraph I typed the wrong versions of the min and= slfj libraries...I'm definitely using the min and slfj libraries that come= with the 1.1.0 qfj download...and when I reverted to qfj-1.0.3, I reverted= the min and slfj libraries as well...I was very careful about this... Thanks! =20 robert l. brueckmann vice president merlin securities 712 fifth avenue new york, ny 10019 p: 212.822.4821 f: 212.822.4820 Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:quickfixj-users= -bo...@li...] On Behalf Of Robert Brueckmann Sent: Monday, April 30, 2007 11:26 AM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ J=F6rg, Ok...oddest thing...when I switched to JdbcLogging, I also simultaneously u= pgraded my QuickFix/j library from 1.0.3 to 1.1.0. So with the 1.1.0 libra= ries (including min-0.9.3 and slf4j-1.0.1), I am having the problems I illu= strated in my previous emails...so I reverted my code to use: MessageStoreFactory messageStoreFactory =3D new FileStoreFactory(settings); LogFactory logFactory =3D new ScreenLogFactory(true, true, true, true); Fired it up...same behavior...the runtime just exits. So then I left my code in it's original state and reverted the libraries ba= ck to quickfixj-1.0.3 (and reverted to min-0.9.3 and slf4j-1.0.1 as well), = fired up my code...same code, came config file)...engine is up and running = fine...heart beats every 30 seconds, not a problem. So then I left the 1.0.3 libraries in place and used your suggestion of the= CompositeLogFactory: MessageStoreFactory messageStoreFactory =3D new JdbcStoreFactory(settings); LogFactory[] logFactories =3D {new JdbcLogFactory(settings), new ScreenLogFactory(true, true, true, true)}; LogFactory logFactory =3D new CompositeLogFactory(logFactories); Magically fires up without a hitch...logging to database and screen...no pr= oblems. Same code, same config files but the 1.1.0 libraries...engine just dies. I= looked at the Banzai example that came with the 1.1.0 src download to see = if my Initiator class is missing something that 1.1.0 needs that 1.0.3 wasn= 't doing...or that I personally was doing something crazy, likewise with my= custom Application class...both are plain vanilla...the only custom thing = we're doing in the Application class is creating a connection to an Oracle = queue in the init() method triggered in the main class of the Initiator and= then simply passing the xml-converted FIX messages to the Oracle queue...w= orks with qfj-1.0.3...not so much with 1.1.0...I even tried 1.0.5 and those= don't work either. Can you think of anything that I might be doing that could cause these libr= aries to not be backwards compatible with my code? Thanks for any help! Rob Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:quickfixj-users= -bo...@li...] On Behalf Of Joerg Thoennes Sent: Monday, April 30, 2007 10:34 AM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Hi Robert, actually it would be helpful to have some more logging. Therefore, I sugges= t to use the CompositeLogFactory to log *both* to the file (which works as you say) and = to the JDBC. Would be good to see all the logging output in one file. Do you use log4j? Then put the appropriate slf* jar in your CLASSPATH. Cheers, J=F6rg On 04/30/07 15:48, Robert Brueckmann wrote: > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > Hi Steve, >=20 > In the 'sessions' table a record is inserted with the seq numbers, begin > string, comp and target ids, etc (session_qualifier is NULL)...then > immediately afterwards, the 'event_log' table gets 3 messages inserted > (session_qualifier is NULL here as well) and the 3 text messages of the > 3 records indicate the session information with the start and end times, > then a message claiming the session was created, then the final message > explaining the valid order types. Then the engine quietly shuts down as > you see in the log I pasted below. There are NO System.exit()s anywhere > in my code...the only way this code can exit is by someone hitting > ctrl+c on the command-line...there's no programmatic exiting in my > code...and being the log below gives no explanation...and if I switch > back to the standard file-based logging, this works fine and the engine > starts processing incoming messages, I'm a little perplexed. >=20 > Any further insight? >=20 > Thanks! >=20 >=20 >=20 > Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single= Strategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 >=20 >=20 > From: qui...@li... > [mailto:qui...@li...] On Behalf Of > Steve Bate > Sent: Friday, April 27, 2007 4:43 PM > To: qui...@li... > Subject: Re: [Quickfixj-users] jdbc logging >=20 > QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ > QuickFIX/J Support: http://www.quickfixj.org/support/ > This looks like something is either calling System.exit() or > the main function is exiting. I'd look there first. Is there any=20 > related information in your session-specific log or does it not > get that far?=20 >=20 >> -----Original Message----- >> From: qui...@li... >> [mailto:qui...@li...]On Behalf Of >> Robert Brueckmann >> Sent: Friday, April 27, 2007 1:45 PM >> To: qui...@li... >> Subject: Re: [Quickfixj-users] jdbc logging >> >> >> QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ >> QuickFIX/J Support: http://www.quickfixj.org/support/ >> We've removed the NOT NULL constraint (kind of weird since this olumn > is >> part of the primary key and by oracle standards a column in the > primary >> key can't be not null so we had to remove that constraint as well...so >> we removed these constraints and fired it up...no exceptions now but > now >> the engine starts up...logs a few messages to the screen which I'll >> paste below and then immediately shuts down with no exception or > message >> of why it's immediately shutting down. >> >> Any thoughts?!? >> >> Here's the console output: >> >> 2007-04-27 13:38:24,215 DEBUG [main] proxool.ShutdownHook >> (ShutdownHook.java:73) - Registered shutdownHook >> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController >> (HouseKeeperController.java:84) - Registering 'quickfixj-1' house > keeper >> 2007-04-27 13:38:24,230 DEBUG [main] proxool.HouseKeeperController >> (HouseKeeperController.java:92) - Starting a house keeper thread >> 2007-04-27 13:38:26,855 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > isReadOnly() >> =3D false >> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: >> getHoldability() =3D 1 >> 2007-04-27 13:38:26,871 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: >> getTransactionIsolation() =3D 2 >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > getTypeMap() >> =3D {SYS.XMLTYPE=3Dclass oracle.xdb.XMLTypeFactory} >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.ConnectionResetter >> (ConnectionResetter.java:168) - Remembering default value: > getCatalog() >> =3D null >> 2007-04-27 13:38:26,886 INFO [main] proxool.ConnectionPool >> (ConnectionPool.java:623) - Proxool statistics legend: "s - r > (a/t/o)" >>> s=3Dserved, r=3Drefused (only shown if non-zero), a=3Dactive, t=3Dtotal, >> o=3Doffline (being tested) >> 2007-04-27 13:38:26,886 DEBUG [main] proxool.Prototyper >> (Prototyper.java:204) - 000000 (01/01/00) - Connection #1 created on >> demand =3D ACTIVE >> 2007-04-27 13:38:27,074 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.ClientDataSupport >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OracleConnection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OracleConnection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface java.sql.Connection >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface > oracle.sql.ClobDBAccess >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface > oracle.sql.BlobDBAccess >> 2007-04-27 13:38:27,089 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.sql.BfileDBAccess >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface java.sql.Statement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OracleStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.OraclePreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> java.sql.PreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OraclePreparedStatement >> 2007-04-27 13:38:27,855 DEBUG [main] proxool.ProxyFactory >> (ProxyFactory.java:209) - Implementing interface >> oracle.jdbc.internal.OracleStatement >> 2007-04-27 13:38:28,574 DEBUG [ShutdownHook] proxool.ShutdownHook >> (ShutdownHook.java:93) - Running ShutdownHook >> 2007-04-27 13:38:28,574 INFO [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:490) - Shutting down 'quickfixj-1' pool > immediately >> [Shutdown Hook] >> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:447) - 000004 (00/00/00) - #0001 removed because > of >> shutdown. >> 2007-04-27 13:38:28,589 DEBUG [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:553) - Connection #1 closed >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] proxool.ConnectionPool >> (ConnectionPool.java:570) - 'quickfixj-1' pool has been closed down by >> Shutdown Hook in 15 milliseconds. >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] >> proxool.PrototyperController (PrototyperController.java:100) - > Stopping >> Prototyper thread >> 2007-04-27 13:38:28,589 INFO [Shutdown Hook] >> proxool.HouseKeeperController (HouseKeeperController.java:107) - >> Stopping HouseKeeper thread >> >> Merlin Securities - #1 Prime Broker North America, #1 Prime=20 >> Broker Single Strategy Funds, #1 Prime Broker Funds Under $100M -=20 >> Global Custodian 2007 >> >> >>=20=20 >> >> -------------------------------------------------------- >> >> This message contains information from Merlin Securities, LLC, or=20 >> from one of its affiliates, that may be confidential and=20 >> privileged. If you are not an intended recipient, please refrain=20 >> from any disclosure, copying, distribution or use of this=20 >> information and note that such actions are prohibited. If you=20 >> have received this transmission in error, please notify the=20 >> sender immediately by telephone or by replying to this transmission. >>=20=20 >> Merlin Securities, LLC is a registered broker-dealer. Services=20 >> offered through Merlin Securities, LLC are not insured by the=20 >> FDIC or any other Federal Government Agency, are not deposits of=20 >> or guaranteed by Merlin Securities, LLC and may lose value.=20 >> Nothing in this communication shall constitute a solicitation or=20 >> recommendation to buy or sell a particular security. >> >> >> >> > ------------------------------------------------------------------------ > - >> 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 > ------------------------------------------------------------------------ > - > 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=20 >=20 > -------------------------------------------------------- >=20 > This message contains information from Merlin Securities, LLC, or from on= e of its affiliates, that may be confidential and privileged. If you are no= t an intended recipient, please refrain from any disclosure, copying, distr= ibution or use of this information and note that such actions are prohibite= d. If you have received this transmission in error, please notify the sende= r immediately by telephone or by replying to this transmission. >=20=20 > Merlin Securities, LLC is a registered broker-dealer. Services offered th= rough Merlin Securities, LLC are not insured by the FDIC or any other Feder= al Government Agency, are not deposits of or guaranteed by Merlin Securitie= s, LLC and may lose value. Nothing in this communication shall constitute a= solicitation or recommendation to buy or sell a particular security. >=20 >=20 >=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, Ust.-Id D= E813021663 ------------------------------------------------------------------------- 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. ------------------------------------------------------------------------- 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. ------------------------------------------------------------------------- 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Toli K. <to...@ma...> - 2007-04-30 15:58:07
|
Robert, I believe i know what the problem may be. in QFJ 1.1.0 we fixed a bug where an error connecting to the Jdbc store caused teh JdbcLog to go into an infinite recursion and print out the log below: > java.sql.SQLException: We are already in the process of making 1 connections and the number of simultaneous builds has been throttled to 0 essentially, it catch an exception making the first db entry, then would try to log the exception, and never stop. you get the idea. > I'm still baffled though why my FileStoreFactory code (no JDBC logging) will not work with the 1.1.0 libraries though... in that case, you are not dealing with JdbcLog so everything worked fine - your system worked correctly and the above situation didn't happen. If you look at the output of QFJ 1.1, you should see somewhere a line saying something about encountering a "write to Jdbc" failure and quitting the JdbcLog. Still not sure why your app will quit completely in case of a JdbcLog failure - it should just not log, but the app itself should keep working. So see if your database is setup correctly, make sure you can log on to it with the credentials supplied in the SessionSettings, etc. Also, if you can, try to run it in the debugger and trap all Errors/Exceptions, maybe for some reason JdbcLog throws some error that kills your entire app? |
|
From: Robert B. <rbr...@me...> - 2007-04-30 16:18:54
|
Toli, Thanks...that explains why I can't get jdbc logging to work in 1.0.3...but my code which simply logs to the FileStoreFactory works perfectly in 1.0.3 but all I do is update the libraries in the classpath to the libraries from the 1.1.0 release and this is what the screen shows: <20070430-15:58:45, FIX.4.2:MERL_DROP->NEOV, event> (Session FIX.4.2:MERL_DROP->NEOV schedule is daily, 10:30:00 UTC - 23:00:00 UTC) <20070430-15:58:45, FIX.4.2:MERL_DROP->NEOV, event> (Created session: FIX.4.2:MERL_DROP->NEOV) <20070430-15:58:45, FIX.4.2:MERL_DROP->NEOV, event> (Valid order types: [2]) Then the engine stops. I have try/catches with everything being printed to the log...nothing...no exception is being thrown, nothing at all. I'm at a loss. Revert the libraries back to 1.0.3 and it fires up...heartbeats run like clockwork and the incoming FIX messages get stored in the database. I'm going to start removing lines of code bit by bit and see if there's something in my initialization of my application to gain access to the queue that's causing this to break in 1.1.0...but you would think that some sort of exception would be thrown...NOTHING happens...the engine code just stops. No message, nothing. Bizarre. robert l. brueckmann vice president merlin securities 712 fifth avenue new york, ny 10019 p: 212.822.4821 f: 212.822.4820 Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S= trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007 From: qui...@li... [mailto:qui...@li...] On Behalf Of Toli Kuznets Sent: Monday, April 30, 2007 11:58 AM To: qui...@li... Subject: Re: [Quickfixj-users] jdbc logging QuickFIX/J Documentation: http://www.quickfixj.org/documentation/ QuickFIX/J Support: http://www.quickfixj.org/support/ Robert, I believe i know what the problem may be. in QFJ 1.1.0 we fixed a bug where an error connecting to the Jdbc store caused teh JdbcLog to go into an infinite recursion and print out the log below: > java.sql.SQLException: We are already in the process of making 1 connections and the number of simultaneous builds has been throttled to 0 essentially, it catch an exception making the first db entry, then would try to log the exception, and never stop. you get the idea. > I'm still baffled though why my FileStoreFactory code (no JDBC logging) will not work with the 1.1.0 libraries though... in that case, you are not dealing with JdbcLog so everything worked fine - your system worked correctly and the above situation didn't happen. If you look at the output of QFJ 1.1, you should see somewhere a line saying something about encountering a "write to Jdbc" failure and quitting the JdbcLog. Still not sure why your app will quit completely in case of a JdbcLog failure - it should just not log, but the app itself should keep working. So see if your database is setup correctly, make sure you can log on to it with the credentials supplied in the SessionSettings, etc. Also, if you can, try to run it in the debugger and trap all Errors/Exceptions, maybe for some reason JdbcLog throws some error that kills your entire app? ------------------------------------------------------------------------ - 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 -------------------------------------------------------- This message contains information from Merlin Securities, LLC, or from one = of its affiliates, that may be confidential and privileged. If you are not = an intended recipient, please refrain from any disclosure, copying, distrib= ution or use of this information and note that such actions are prohibited.= If you have received this transmission in error, please notify the sender = immediately by telephone or by replying to this transmission. =20 Merlin Securities, LLC is a registered broker-dealer. Services offered thro= ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal= Government Agency, are not deposits of or guaranteed by Merlin Securities,= LLC and may lose value. Nothing in this communication shall constitute a s= olicitation or recommendation to buy or sell a particular security. |
|
From: Robert B. <rbr...@me...> - 2007-04-30 17:53:18
|
Here's my TestInitiator class:
----
package com.merlin.pb.fix;
import java.io.InputStream;
import quickfix.DefaultMessageFactory;
import quickfix.FileStoreFactory;
import quickfix.Initiator;
import quickfix.LogFactory;
import quickfix.MessageFactory;
import quickfix.MessageStoreFactory;
import quickfix.ScreenLogFactory;
import quickfix.SessionSettings;
import quickfix.ThreadedSocketInitiator;
public class TestInitiator {
private static Initiator initiator =3D null;
public static void main(String args[]) {
try {
System.out.println("running FIX engine...");
=09=20=20=20=20=09
InputStream inputStream =3D
=09
MerlinFIXInitiator.class.getResourceAsStream("initiator.cfg");
=09
SessionSettings settings =3D new
SessionSettings(inputStream);
TestApplication application =3D new TestApplication();
=20=20=20=20=20=20=20=20=20=20=20=20
MessageStoreFactory messageStoreFactory =3D new
FileStoreFactory(settings);
LogFactory logFactory =3D new ScreenLogFactory(true, true,
true, true);
=20=20=20=20=20=20=20=20=20=20=20=20
MessageFactory messageFactory =3D new DefaultMessageFactory();
=20=20=20=20=20=20=20=20=20=20=20=20
System.out.println("beginning initiator...");
initiator =3D new ThreadedSocketInitiator(application,
messageStoreFactory,
settings,
logFactory,
messageFactory);
initiator.start();
} catch(Exception e) {
e.printStackTrace(System.out);
}
}
}
----
Here's my TestApplication class:
----
package com.merlin.pb.fix;
import quickfix.Application;
import quickfix.DoNotSend;
import quickfix.FieldNotFound;
import quickfix.IncorrectDataFormat;
import quickfix.IncorrectTagValue;
import quickfix.Message;
import quickfix.MessageCracker;
import quickfix.RejectLogon;
import quickfix.SessionID;
import quickfix.UnsupportedMessageType;
public class TestApplication extends MessageCracker implements
Application {
public TestApplication() {}
/* (non-Javadoc)
* @see quickfix.Application#fromAdmin(quickfix.Message,
quickfix.SessionID)
*/
public void fromAdmin(Message arg0, SessionID arg1) throws
FieldNotFound,
IncorrectDataFormat, IncorrectTagValue,
RejectLogon {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see quickfix.Application#fromApp(quickfix.Message,
quickfix.SessionID)
*/
public void fromApp(Message arg0, SessionID arg1) throws
FieldNotFound,
IncorrectDataFormat, IncorrectTagValue,
UnsupportedMessageType {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see quickfix.Application#onCreate(quickfix.SessionID)
*/
public void onCreate(SessionID arg0) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see quickfix.Application#onLogon(quickfix.SessionID)
*/
public void onLogon(SessionID arg0) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see quickfix.Application#onLogout(quickfix.SessionID)
*/
public void onLogout(SessionID arg0) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see quickfix.Application#toAdmin(quickfix.Message,
quickfix.SessionID)
*/
public void toAdmin(Message arg0, SessionID arg1) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see quickfix.Application#toApp(quickfix.Message,
quickfix.SessionID)
*/
public void toApp(Message arg0, SessionID arg1) throws DoNotSend
{
// TODO Auto-generated method stub
}
}
----
You can clearly see NOTHING is going on...I'm not doing anything with
incoming messages...just testing connectivity pretty much:
Test results:
Using qfj-1.0.3/mina-core-0.9.3/slfj-jdk14-1.0.1:
running FIX engine...
beginning initiator...
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, event> (Session
FIX.4.2:MERL_DROP->NEOV schedule is daily, 00:00:00 UTC - 00:00:00 UTC)
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, event> (Created session:
FIX.4.2:MERL_DROP->NEOV)
Apr 30, 2007 1:44:59 PM quickfix.mina.initiator.InitiatorIoHandler
sessionCreated
INFO: MINA session created: /10.68.5.33:1550
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, outgoing>
(8=3DFIX.4.2=019=3D69=0135=3DA=0134=3D27=0149=3DMERL_DROP=0152=3D20070430-1=
7:44:59.905=0156=3DNEOV
=0198=3D0=01108=3D30=0110=3D067=01)
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, event> (Initiated logon
request)
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, incoming>
(8=3DFIX.4.2=019=3D0065=0135=3DA=0134=3D33=0149=3DNEOV=0156=3DMERL_DROP=015=
2=3D20070430-17:44:59=019
8=3D0=01108=3D30=0110=3D208=01)
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, event> (Received logon
response)
<20070430-17:45:29, FIX.4.2:MERL_DROP->NEOV, incoming>
(8=3DFIX.4.2=019=3D0053=0135=3D0=0134=3D34=0149=3DNEOV=0156=3DMERL_DROP=015=
2=3D20070430-17:45:29=011
0=3D162=01)
<20070430-17:45:29, FIX.4.2:MERL_DROP->NEOV, outgoing>
(8=3DFIX.4.2=019=3D57=0135=3D0=0134=3D28=0149=3DMERL_DROP=0152=3D20070430-1=
7:45:29.936=0156=3DNEOV
=0110=3D025=01)
...and so on and so forth...regular continuous and uninterrupted
heartbeats...
Using qfj-1.0.5/mina-core-1.0.0/slf-jdk14-1.0.1 OR using
qfj-1.0.1/mina-core-1.0.1/mina-sources-1.0.1/slf-api-1.3.0/slf-jdk14-1.3
.0:
running FIX engine...
beginning initiator...
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, event> (Session
FIX.4.2:MERL_DROP->NEOV schedule is daily, 00:00:00 UTC - 00:00:00 UTC)
<20070430-17:44:59, FIX.4.2:MERL_DROP->NEOV, event> (Created session:
FIX.4.2:MERL_DROP->NEOV)
...engine stops. That's it. No message, nothing.
What the heck could I possibly be doing wrong with the code above...it's
empty shell code...why would it work for 1.0.3 and no version greater?
Merlin Securities - #1 Prime Broker North America, #1 Prime Broker Single S=
trategy Funds, #1 Prime Broker Funds Under $100M - Global Custodian 2007
=20
--------------------------------------------------------
This message contains information from Merlin Securities, LLC, or from one =
of its affiliates, that may be confidential and privileged. If you are not =
an intended recipient, please refrain from any disclosure, copying, distrib=
ution or use of this information and note that such actions are prohibited.=
If you have received this transmission in error, please notify the sender =
immediately by telephone or by replying to this transmission.
=20
Merlin Securities, LLC is a registered broker-dealer. Services offered thro=
ugh Merlin Securities, LLC are not insured by the FDIC or any other Federal=
Government Agency, are not deposits of or guaranteed by Merlin Securities,=
LLC and may lose value. Nothing in this communication shall constitute a s=
olicitation or recommendation to buy or sell a particular security.
|