Я относительно новичок в 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, а
Привет rupweb, да, я добавил mina-core-2.0.9 в lib –
Это скорее комментарий, чем ответ. – DumbCoder
Да, хотя я думал, что это был ответ. Я не знаю ответа на этот вопрос ... Но NoSuchMethodError в quickfix.mina подразумевает отсутствие библиотеки. – rupweb