2013-07-08 64 views
3

我知道可以从ColdFusion实例化Java类,但是有可能从Java代码实例化ColdFusion CFC?Coldfusion CFCs可以从Java实例化吗?

例如(在Java中):

ColdFusionCFC obj = new ColdFusionCFC("filename.cfc"); 

我想知道是否有可能逐步过渡从现有的ColdFusion代码库与其他一些基于JVM的语言远,而无需重写一切的时候了。

回答

6

Calling ColdFusion CFCs from Java是ColdFusion 10的一项功能。如果您不使用CF10,则可以使用远程函数将具有HTTP功能的CFC作为HTTP Web服务调用。

+0

太棒了!我不知道CF10。不幸的是,我在CF9上。我不是HTTP解决方案的粉丝,所以这将是我的最后一招。如果任何人有CF9解决方案,我会在选择答案之前等一会儿。 – danmcardle

+2

@crazedgremlin - 实际上CFCProxy的某些版本已经出现[自v7以来](http://www.forta.com/misc/cfcproxy.htm)。早期版本可能不具备所有相同的功能,但可以在CF10之前访问。 – Leigh

+0

我总是从@Leigh学到一些新东西。我记得Adobe为CF10做了一个关于CFCProxy的大事,所以我认为这是一个新功能。似乎Adobe在CF10之前故意保密。 – imthepitts

1

Adob​​e的本·福尔塔对CFCProxy一些文档,你可能会发现有用,网址为: http://www.forta.com/misc/cfcproxy.htm

我也曾经在博客中CF集群这里使用CFCProxy,当时指的ColdFusion 8: http://www.talkingtree.com/blog/index.cfm/2008/2/6/Using-the-CFC-Proxy-in-a-ColdFusion-Cluster

+0

愚蠢的问题......因为cfc需要cf servlet上下文,你是如何测试java代码的? :) – Leigh

+0

过了几年,但看着我的博客条目我看到,java调用者类导入了以下内容: import coldfusion.cfc.CFCProxy; import coldfusion.bootstrap.BootstrapClassLoader; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletRequest; 然后,类路径被设置为包含ColdFusion和JRun jar文件,以便能够重新使用这些依赖关系: set CLASSPATH =。;%CF_HOME%\ WEB-INF \ cfusion \ lib \ cfusion.jar;%CF_HOME %\ WEB-INF \ lib \ cfmx_bootstrap.jar;%JRUN_HOME%\ lib \ jrun.jar –

+0

(补时五分钟时间..)也许有所改变。我从Eclipse中尝试过。只是一个基本的Java项目(添加了所有的cf9 jar和import - cfusion,jrun,bootstrap,servlet)。它编译,但是当我运行它时,我得到一个“CFCServlet必须初始化”的错误。我会再玩一些。感谢您的检查。 (你的记忆力比我的好;-) – Leigh

相关问题