java - 构建没有属性文件的 JCoServer

标签 java properties connection jco

使用 JCo,您可以轻松建立连接,就像 JCo 库附带的示例表中所解释的那样。不幸的是,构建连接的唯一方法是使用创建的属性文件来处理。如果其中没有任何有意义的数据,情况也不会那么糟糕。但至少 SAP 用户的密码存在于文件中,因此这种连接处理方式缺乏安全性。 JCo的手册也是这么说的:

For this example the destination configuration is stored in a file that is called by the program. In practice you should avoid this for security reasons.

但终究找不到可行的解决方案。关于这个主题有很多帖子,比如

http://forums.sdn.sap.com/thread.jspa?messageID=7303957

但它们都没有帮助。我真的想不出解决办法,也找不到。实际上,我通过在建立连接后删除文件来解决安全问题,但这不是一个令人满意的解决方案。有一个更好的方法来获取连接参数,特别是当它出现在手册中时,但我不知道如何。

有人已经使用过 JCo 3.0 并且知道这个问题吗?

最佳答案

是的,这是可能的。您必须创建自己的 DestinationDataProvider 实现并使用 Environment.registerDestinationDataProvider() 注册它。但是,您的 DDP 获取连接数据和凭据取决于您。看看net.sf.rcer.conn.connections.ConnectionManager ,那里有一个工作示例。

你需要

  • 复制从第 66 行开始的私有(private)类,并根据您自己的需要进行调整(即从您想要的任何位置获取连接数据)
  • 在应用程序启动期间的某个位置执行注册(第 204 行)
  • 使用一些字符串标识符获取连接,该标识符将传递给您的 DestinationDataProvider。

关于java - 构建没有属性文件的 JCoServer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3521272/

相关文章:

java - 套接字客户端卡在 'waiting for message from server.'

Java - 无异常地关闭 ServerSocket?

javascript - 在遍历对象属性时删除对象属性是否安全?

Objective-C:标量属性默认为原子?

java - GAE fetchAsync - 有什么意义?

java - 网络错误和异步困惑

java - 在 Java Web 应用程序中使用属性文件连接到数据库

java - java聊天Socket连接数

java - Jenkins 不过滤 Maven 构建的全局密码

java - groovy中的POGO是什么