问题标签 [jca]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在没有证书的情况下添加 Java 安全提供程序?
我想知道,有没有办法在我的本地机器上添加一个新的 java 安全提供程序而不将它发送到 Oracle 以获得证书?
问题是我正在学习 JCA 并且有一个任务来实现我自己的提供者(主要任务是实现一些算法)。但是如果不实际使用我的提供者,就不可能理解 JCA 的非常重要的原则。阅读文档和查看源文件是不够的。
jakarta-ee - 将 Java EE 应用程序连接到外部系统
我们有一个在 Glassfish 3.1 上运行的 Java EE 应用程序,它需要接受来自用 Java 编写的遗留系统的通知。这个遗留系统提供了一个 JAR 文件,任何希望订阅系统通知的外部应用程序都应该使用该文件。
在 Java SE 应用程序中使用时,该库的工作方式如下:
- 使用与遗留系统的连接参数初始化库
- 库连接到系统并监听通知
- 我们的应用程序通过实现一个接口来注册通知
- 每当收到通知时,就会调用实现类中的方法
我们希望在 Java EE 中重现相同的方式,即每当系统发送通知时调用 EJB 方法。
JCA是要走的路吗?单例 EJB 初始化库并将自己注册为侦听器怎么样?
关于这个主题的好例子很难找到,所以如果你有任何指导,我将不胜感激。
sockets - 使用 JCA 入站套接字资源的 MDB 部署后配置
我有一个消息驱动 bean,它通过 GlassFish 3.1.1 应用程序服务器中的 JCA 资源适配器从 TCP 套接字上接收的数据中调用。sun-ejb-jar.xml 文件中的部署描述符指定了套接字的 URL 和端口。部署 MDB 时,我看到应用服务器执行资源适配器中的 endpointActivation() 方法,并使用 MessageEndpointFactory 和 ActivationSpec 作为参数。
当 URL 和端口在部署之前已知并且可以在 XML 文件中指定时,这可以正常工作,但是现在我需要能够在运行时在我的 EJB 代码中更改 TCP 套接字。我在 JCA 规范中找不到任何关于如何在运行时执行此操作的参考。
作为参考,我从 Oracle 的网站下载了规范。 J2EE 连接器架构规范版本 1.5
基本上,我想将以下填充 ActivationSpec 的 XML 代码移动到我的 EJB 代码中。
感谢您的任何建议。
jakarta-ee - 在 GlassFish 中,在编写 JCA 适配器时,有没有办法将匿名用户映射到 EIS 用户?
我为遗留系统创建了自己的 JCA->EIS 适配器。我在连接到旧系统时无法进行身份验证。
这是相当难以解释的。在 GlassFish v3.1.1 中,在您创建自己的 JCA 适配器并安装它之后,有一个名为“Work Security Maps”的选项卡。这似乎是为 EIS 系统输入用户名/密码的唯一位置。我想用匿名(未经身份验证的)用户运行我的 EJB,但为了填写 EIS 密码,您似乎必须指定组或用户映射。
有没有办法让 JCA 适配器的所有调用都使用相同的用户名/密码访问 EIS 系统?
所需的行为类似于 JDBC 的工作方式。我的数据库有一个用户名/密码。我的应用程序注入了数据源,但我不必将当前用户映射到数据库用户。
编辑:如第一个答案中所述,您可以使用 config-properties 来实现它。但是,我不认为这是根据 JCA 规范执行此操作的正确方法。在 Websphere 中,您可以将 JAAS 凭证分配为“组件管理的身份验证别名”以及何时调用主题。
我似乎无法在 GlassFish 中执行此操作。如果你调用 Subject.getPrivateCredentials(PasswordCredential.class) 你会得到一组带有空白字符串的凭据。
java - 是否可以构建一个连接自动关闭的 JCA 适配器?
我正在构建一个带有自定义“连接”类的 JCA 适配器。在我见过的所有示例中,您应该在连接类中放置一个“void close()”。然后在使用您的自定义连接类时,您必须在 finally 块中调用 close() 。
我真的不相信开发人员记得在 finally 块中关闭。此外,我不必在 EntityManager 上调用“close()”。容器自动管理 EntityManager 的打开和关闭。
有没有办法让容器自动关闭与我的 JCA 适配器的任何连接?我尝试过覆盖 finalize(),但在 JVM 决定清理我的连接之前可能需要很长时间。
或者,如果有人知道如何为 findbugs 编写一个插件来标识在 finally 块中使用自定义连接类而不使用 close() 的任何地方......我可能会同意。
java - ObjectInputStream 与 CipherInputStream 冻结、挂起
我正在编写基于客户端-服务器的 Java 应用程序,但我遇到了一个问题,因为它在客户端和服务器中构造 ObjectInputStream 时都会挂起。
客户:
服务器:
AES:
当我不使用 CipherInput/OutputStream 时,一切正常,所以问题与 CipherInput/OutputStream 有关。
sockets - Java EE 应用程序:TCP 服务器 + Web 界面
我需要实现一个包含用于管理的 Web 界面的 TCP 服务器。
基本上,tcp 服务器将监听新连接并保持当前连接处于活动状态,而 Web 界面允许我查看有关这些连接的信息并与它们进行交互(例如发送消息并查看接收的消息)......
我的担忧在于“TCP 服务器”与 Web 应用程序的集成。对于收到的消息,我可以简单地使用共享数据库,但我需要将消息发送到连接到 TCP 服务器的对等方。
目前我最好的选择是在 JCA 上。一些研究向我指出了一个很好的示例:http ://code.google.com/p/jca-sockets 。该示例使用消息驱动 Bean 来处理通过端口 9000 接收的消息,充当回显服务器。
我是 Java EE 6 世界的新手。我试图弄清楚为什么在示例中以一种或另一种方式完成事情(例如,为什么是 MDB?)。
JCA 有一个相当复杂的规范。因此,我首先尝试调整上面的示例以保持连接处于活动状态以交换数据。我的下一步将是调整它以通过 servlet 接受字符串以将其转发给给定的对等点。
有人可以帮我解决这个问题吗?
jms - 通过 JMS API 中的 QueuManager
在 MQ 中,如果您有一个现有队列管理器的实例,请说您的应用程序有权访问的 queuemanager1。您可以通过 queuemanager1 创建一个指向另一个队列管理器 queuemanager2 的队列的队列来发送消息。这样做是因为应用程序可能无法直接访问 queuemanager2,但托管 queumanager1 的 MQ 服务器可以。
代码看起来像这样:
MQQueue destQueue = queuemanager1.accessQueue("queFromAnotherMngr",CMQC.MQOO_OUTPUT | CMQC.MQOO_FAIL_IF_QUIESCING,"queuemanager2", null, null);
我正在重构代码以将 IBM MQ JCA 适配器用于 JBoss AS 6。所以我相信我必须坚持使用 vanilla JMS api(使用 InitialContext JNDI 查找、生产者等)才能让我的连接由 JBoss 管理。
但是,我不知道如何在常规 JMS 中允许接收 MQ 服务器将我的消息转发到另一个队列管理器 (queuemanager2) 的另一个队列。
从我到目前为止的研究来看,有一个对象发送到 MQ,称为消息队列消息描述符 (MQMD),它有一个名为“ReplyToQMgr”和“ReplyToQ”的字段。我想如果我找到一种方法来使用带有 JCA 适配器的 JMS API 更新这些字段,我就有了我的解决方案。有什么想法吗?想法?建议?解决方案?谢谢!
soa - 多个 BPEL/Mediator 有效负载如何使用 DB 适配器存储在 DB 中
我有巨大的 XML,它是 XSD 定义的,并且有复杂的类型,需要大约 50 个数据库表来存储整个 XML。有一个父表,它具有对子表的引用 ID。
现在首先我想存储父表并获取 ID 并使用相同的 ID 存储子表(它的父子关系最多 5 或 6 级)我如何定义/使用 BPEL 流程。
我想使用文件适配器来读取 XML 文件。如果需要,我需要使用中介定义 BPEL 流程吗?并使用 DB 适配器来存储数据。
我的问题是如何定义具有多个元素的大型 XSD 的 BPEL 流程?如何使用 db 适配器存储 50 多个表并获取子表的父 ID?
任何帮助表示赞赏。
jndi - jboss 7.1 中资源适配器的 JNDI 查找异常
我在 jboss 7.1.0.final 中部署了一个资源适配器(XADisk),现在 JNDI 查找出现异常。
我配置了 ra.xml 并部署了 XADisk.rar。然后我将以下内容添加到我的standalone.xml:
现在我尝试从一个简单的 servlet 中使用它:
如果我调用 servlet,则会引发以下问题:
我希望对jndi和jboss有更好理解的人可以帮助我。