首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QuickFIX/J应用程序中的代理(org/logicalcobwebs/cglib/ NoClassDefFoundError /Callback)

问QuickFIX/J应用程序中的代理(org/logicalcobwebs/cglib/ NoClassDefFoundError /Callback)
EN

Stack Overflow用户
提问于 2015-04-22 22:52:26
回答 3查看 1K关注 0票数 0

我正在用QuickFIX/J (版本1.6.0)编写一个Java程序。

只要我只登录到文件,一切都很好..现在,我想添加JDBC日志:

代码语言:javascript
复制
SessionSettings sessionSettings = null;

try {

    sessionSettings = new SessionSettings(pathToFixConfigFile);

    logger.info("Everything okay");
} catch (ConfigError e) {

    logger.error("Error: ", e);
    throw (e);
}

MessageStoreFactory messageStoreFactory = new JdbcStoreFactory(
sessionSettings);

LogFactory[] factorioes = { new FileLogFactory(sessionSettings),
new JdbcLogFactory(sessionSettings) };

LogFactory logFactory = new CompositeLogFactory(factorioes);

MessageFactory messageFactory = new DefaultMessageFactory();

try {

    socketInitiator = new SocketInitiator(xitaroApplication,
    messageStoreFactory, sessionSettings, logFactory,
    messageFactory);

} catch (ConfigError e) {

    logger.error("Error: ", e);
    throw (e);
}

我得到了以下错误:

代码语言:javascript
复制
quickfix.ConfigError: error during session initialization
    at quickfix.mina.initiator.AbstractSocketInitiator.createSessions(AbstractSocketInitiator.java:168)
    at quickfix.mina.initiator.AbstractSocketInitiator.createSessionInitiators(AbstractSocketInitiator.java:83)
    at quickfix.SocketInitiator.initialize(SocketInitiator.java:114)
    at quickfix.SocketInitiator.start(SocketInitiator.java:89)
    at de.my.program.main(MyProgram.java:191)
Caused by: java.lang.NoClassDefFoundError: org/logicalcobwebs/cglib/proxy/Callback
    at org.logicalcobwebs.proxool.ConnectionPool.getConnection(ConnectionPool.java:261)
    at org.logicalcobwebs.proxool.ProxoolDataSource.getConnection(ProxoolDataSource.java:97)
    at quickfix.JdbcUtil.determineSessionIdSupport(JdbcUtil.java:127)
    at quickfix.JdbcLog.<init>(JdbcLog.java:88)
    at quickfix.JdbcLogFactory.create(JdbcLogFactory.java:38)
    at quickfix.CompositeLogFactory.create(CompositeLogFactory.java:55)
    at quickfix.Session.<init>(Session.java:460)
    at quickfix.DefaultSessionFactory.create(DefaultSessionFactory.java:183)
    at quickfix.mina.SessionConnector.createSession(SessionConnector.java:141)
    at quickfix.mina.initiator.AbstractSocketInitiator.createSessions(AbstractSocketInitiator.java:162)
    ... 4 more
Caused by: java.lang.ClassNotFoundException: org.logicalcobwebs.cglib.proxy.Callback
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 14 more

我已经将QuickFIX中的所有库添加到类路径中,但错误不会消失:/

我知道,我的问题有点笨拙..但是我越来越绝望,希望通过这种方式得到帮助..

谢谢你们!

EN

回答 3

Stack Overflow用户

发布于 2016-09-01 00:32:57

此问题是quickfix二进制发行版缺少proxool-cglib.jar文件。当您在会话settins文件中指定JDBC驱动程序时,quickfix会自动尝试使用proxool创建连接池。它依赖于proxool-cglib.jar jar中的一个类。要进行修复,只需下载proxool-cglib.jar文件并将其添加到类路径中即可。你可以在这里下载:http://proxool.sourceforge.net/download.html

票数 1
EN

Stack Overflow用户

发布于 2015-04-23 01:23:48

显然,您仍然缺少一些依赖项。您的问题听起来很像this one,其中还需要包含Apache Logging Commons jar文件。

票数 0
EN

Stack Overflow用户

发布于 2015-04-24 22:32:51

如果你使用Intellij IDE,这将会很容易。如果你需要,我可以给你一个工作项目。:)

我想你的POM file.check你的依赖一定有问题。我认为一些lib仍然缺失。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29801358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档