2015-06-04 5 views
1

Я относительно новичок в FIX, и это мой первый раз, когда я пытаюсь подключиться. Я пытаюсь использовать библиотеку QuickFixJ для подключения к среде UAT, которую мне предоставили. В частности я использую quickfixj-all-1.6.0.jarРеализация клиента FIX с помощью QuickFixJ throws NoSuchMethodError

Я внедрил образец кода от here и работает до socketAcceptor.start().

Вот полный пример кода:

SocketAcceptor socketAcceptor = null; 
    try { 
     SessionSettings executorSettings = new SessionSettings(
       "quickFixTester/acceptorSettings.txt"); 
     Application application = new TestTradeAppExecutor(); 
     FileStoreFactory fileStoreFactory = new FileStoreFactory(
       executorSettings); 
     MessageFactory messageFactory = new DefaultMessageFactory(); 
     FileLogFactory fileLogFactory = new FileLogFactory(executorSettings); 
     socketAcceptor = new SocketAcceptor(application, fileStoreFactory, 
       executorSettings, fileLogFactory, messageFactory); 
     socketAcceptor.start(); 
    } catch (ConfigError e) { 
     e.printStackTrace(); 
    } 

Ошибка я получаю

2312 [main] INFO quickfix.SessionSchedule - [FIX.4.4:[SenderCompID]->[TargetCompID]] weekly, SUN 00:00:00-UTC - FRI 00:00:00-UTC 
    Executor Session Created with SessionID = FIX.4.4:[SenderCompID]->[TargetCompID] 
2327 [main] INFO quickfix.SocketAcceptor - SessionTimer started 
2371 [main] INFO quickfix.mina.NetworkingOptions - Socket option: SocketTcpNoDelay=true 
2371 [main] INFO quickfix.mina.NetworkingOptions - Socket option: SocketSynchronousWrites=false 
2371 [main] INFO quickfix.mina.NetworkingOptions - Socket option: SocketSynchronousWriteTimeout=30000 
Exception in thread "main" java.lang.NoSuchMethodError: quickfix.mina.message.FIXProtocolCodecFactory.addMessageDecoder(Ljava/lang/Class;)V 
     at quickfix.mina.message.FIXProtocolCodecFactory.<init>(FIXProtocolCodecFactory.java:31) 
     at quickfix.mina.acceptor.AbstractSocketAcceptor.startAcceptingConnections(AbstractSocketAcceptor.java:109) 
     at quickfix.SocketAcceptor.initialize(SocketAcceptor.java:86) 
     at quickfix.SocketAcceptor.start(SocketAcceptor.java:80) 
     at quickFixTester.TestTradeAppExecutorApp.main(TestTradeAppExecutorApp.java:38) 

В «SenderCompID-> TargetCompID» переменные представлены, но были удалены из образца здесь.

quickfix.mina.message.FIXProtocolCodecFactory.addMessageDecoder (Ljava/lang/Class;) V Выбрасывается внутри метода socketAcceptor.start. Я не вижу причины для этого, так как я только изменил примеры конфигурации, чтобы указать на среду FIX UAT.

Я не могу понять, почему метод, содержащийся в банке, будет вызывать эту ошибку, я не пытаюсь отправить сообщение на этот этап только пытается открыть соединение. Пример, похоже, сработал для других.

я получаю ту же самую ошибку, используя в качестве примера клиента FIX found here, а

ответ

0

Импортирование second example as-is вместо попыток реализовать в моем проекте Eclipse. Проблема, как представляется, была вызвана неправильным импортом из банка fastfix-all, вызывающего неправильный метод для вызова во время запуска.

0

Вы ссылаетесь на Mina-жильную банке, а? В каталоге lib ...

Как насчет фильтра mina SSL? По моему комментарию, NoSuchMethodError для quickfix.mina подразумевает, что на библиотеку не ссылаются.

+0

Привет rupweb, да, я добавил mina-core-2.0.9 в lib –

+0

Это скорее комментарий, чем ответ. – DumbCoder

+0

Да, хотя я думал, что это был ответ. Я не знаю ответа на этот вопрос ... Но NoSuchMethodError в quickfix.mina подразумевает отсутствие библиотеки. – rupweb

 Смежные вопросы

  • Нет связанных вопросов^_^