Did you mean write the whole JForex IClient code inside a new thread and destroy this thread for normal exit? Mhh, I have tried but the application still hang. As far as I know is the Socket connection between IClient and Dukascopy server the problem, I can't
disconnect them and any thread blocked
Regarding Scala, I have never coded with Java but rather with C and C++. And anytime I have seen the new Scala language and experimented with them. So I have continued this with JForex now. Whether it would be better, is a question of needs. If you want speed use C++ or C (or even Assembler
). A great benefit in Scala is the very compact code, simple Thread coding with Actors and you have access of all Java packages. If you write Scala and know Java, you missing nothing
And in combination with the LiftWeb Framework, you have easy interface to third party databases like PostgreSQL or others. And for communication with another software components you can use simple JMS about ActiveMQ. One of the negative side of Scala is the often changes in the API and language too, because Scala is young. But I can't judge whether Scala is ideal for financial system, except that for me it's the right language.