Quote from Chronos.Phenomena:
I decided I'll try quickFix (Java implementation)... and try to change my existing code to use fix engine...
anyone knows of good java examples... ideally open source software with both IB and FIX interfaces?
To use both IB and QuickFix in the same platform you need an abstraction layer/interface e.g. IBroker and an adapter - one for IB and one for QuickFix. This is what OpenQuant does but it's not open source and it's not Java. Also, RightEdge implements a similar architecture but again it's not open source and it's not Java. Furthermore, I don't know if RightEdge supports FIX. Ditto NinjaTrader.
There's example java code with the QuickFix/J distribution that is more than enough to get you started.
Also, have a look at Marketcetera which uses (at least last time I checked) QuickFix/J and is both open source and Java. However, I'm not sure if they also have an IB connection....i vaguely recall it was being worked on last time I checked.
Note, even if you implement FIX, every broker seems to implement it a little bit differently even if they are using the same FIX version number.
You'll also have to implement a separate mechanism for subscribing to market data. You don't want to be using FIX for that unless it is FIX/FAST. That's where IB is convenient - market data and order execution with the same API. If you're going to develop with FIX you'll also need a test server to test against.
FIX was a nice idea but it's not nearly the best solution. Sorry, I haven't read the whole thread so I don't know what your motivation for looking at FIX in the first place was. Going by the thread title though, the asynchronous situation doesn't go away by using FIX and to be honest it's a non-issue when using IB.
There's so much open source example Java code for IB I don't see what the problem is. In fact, there are so many ready-made platforms to choose from, unless you have a highly specialized need in your platform you might be better off using one of those.