2011-07-19 80 views
0

我正在构建一个在JBoss 6.x上运行的Spring 3.0应用程序。我需要我的应用程序通过sftp访问文件(get和put)。从来没有做过这个,我做了一些研究,发现Spring-Integration支持sftp。然而,这个项目的架构师坚持认为连接必须来自容器,而不是来自应用程序。SFTP JCA连接器?

因此,我发现自己正在寻找一个SFTP JCA,但找不到任何有价值的东西。我确实运行过txconnect.sourceforge.net,但该库看起来好像没有活动的开发并且不支持ssh密钥(仅用户名/密码)。

我有什么可以使用的吗?在Google上搜索没有任何结果。 Spring可以配置为JBoss的JCA吗?我需要别的东西吗?

谢谢! 埃里克

+0

这听起来像是一个过于复杂的解决方案。 JCA是一个复杂的野兽。你不能直接使用SFTP库吗,不介意Spring Integration或JCA? – skaffman

+0

对不起 - 您直接使用sftp库意味着什么?让应用程序本身打开套接字来传输文件的问题是针对J2EE最佳实践运行,其中它是启动所有套接字io的容器。在应用程序中直接插入sftp库会绕过该方法,并可能会在集群环境中导致问题。 –

+0

根据我的经验,“J2EE最佳实践”是一个矛盾。去做什么有用,是我的建议。 – skaffman

回答

0

一件大事:从长远来看,遵守规范是明智的做法,除非您真的知道它会对您的项目造成什么样的伤害。

所以,如果你确信你想/必须使用JCA,这里的东西:

快速搜索给了我两个连接器:

  1. http://sourceforge.net/projects/jca-for-ssh/
  2. http://jca-for-ssh.sourceforge.net

他们似乎并不那么成熟,尽管我自己并没有使用它们。

你需要什么连接器?如果只是简单的事情,你也可以自己写一个。 例如:你需要交易支持吗?你需要支持入站和出站连接吗?

如果您有更多问题,让我知道:-)

+0

我刚刚发现了另一个链接:[link](http://sourceforge.net/apps/mediawiki/ikasaneip/index.php?title=Explanation_of_the_Code_Base)。目前还没有源代码,但它看起来很有希望,所以你应该给这些人发一封邮件,要求他们的SFTP RA。 –

0

舒展的位,但https://www.advantco.com/product/adapter/sftp提供他们要求的是一个本地JCA适配器它插入现有的J2EE适配器框架,但出现在SAP NetWeaver的框架,有针对性,所以不知道什么样的祝你在JBoss集成中一切顺利。

+0

感谢您的提示。我尝试联系他们,但他们的适配器是SAP特定的,他们的其他产品是独立的应用程序;不是jca。 –

0

我你的要求的理解是,你需要以下载,打开从JBOSS运行到远程系统您的应用程序ssh连接和从/上传文件到那里。

在我看来,你不需要JCA适配器。我不是Spring专家,但是因为你在谈论JBOSS,我可以告诉你任何EE6应用程序都禁止打开服务器套接字(侦听),但允许打开客户端套接字。

如果你想在你的应用中模拟SSH服务器功能,那么你需要实现一个JCA适配器,但在你的情况不是。