【问题标题】:Accessing a ColdFusion datasource from Java code从 Java 代码访问 ColdFusion 数据源
【发布时间】:2010-09-21 02:16:30
【问题描述】:

我有一个 servlet,我想在 ColdFusion MX 7 中运行。如果可能,我想利用现有的 ColdFusion DSN 作为 javax.sql.DataSource。

我想像

coldfusion.server.ServiceFactory.getDataSourceService().getDatasource(dsname);

会工作,但不幸的是 servlet 返回

java.lang.NoClassDefFoundError: coldfusion/server/ServiceFactory

【问题讨论】:

    标签: java servlets jdbc coldfusion


    【解决方案1】:

    似乎最简单的方法是在 jrun-resources.xml 中添加一个额外的 JNDI 数据源。然后可以通过常规方式访问它:

    Context context = new InitialContext();
    DataSource ds = (DataSource)context.lookup("mydatasource"); 
    

    这确实意味着复制数据库连接配置,但我宁愿这样做也不愿使用大部分未记录的 Coldfusion.server.* 类。

    【讨论】:

      【解决方案2】:

      该代码可以正常工作,只是您的类路径中没有 ServiceFactory。即,Java 不能加载该类。尝试从 C:\CFusionMX7\lib 中包含对 cfusion.jar 的依赖项。

      【讨论】:

      • 现在得到:coldfusion.server.ServiceFactory$ServiceNotAvailableException:DataSource 服务不可用。 neo-query.xml 很好,来自 .cfm 页面的查询仍然有效。
      • 嗯,我只做了一个从 ColdFusion 使用 CFOBJECT 调用的 java 类。那是你在做什么?您可能需要在该上下文中才能访问数据源。
      • 看起来是这样的。我有一个需要访问数据库的 servlet。我会看看在 jrun-resources.xml 中创建一个新的 JNDI 数据源是否可行。
      猜你喜欢
      • 1970-01-01
      • 2011-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-09-13
      • 2013-01-31
      • 1970-01-01
      • 2014-02-13
      • 1970-01-01
      相关资源
      最近更新 更多