我部署了一个定义了远程EJB的全局模块,但我无法从部署的应用程序访问它们。
以下是界面:
@Remote
public interface ICryptoAPI..
and bean definition:
@Stateless
public class CryptoAPI implements ICryptoAPI ...
既然默认的@Ejb找不到bean,我如何找到部署的Ejb的jndi名称?值得一提的是,jboss cli中的/subsystem=naming:jndi-view()没有打印任何关于已部署模块的信息,并且在wildfly日志中没有错误。
也许,在全局模块中定义可注入ejbs是不可能的?
绑定到EJB的可移植JNDI名称取决于bean的部署方式和一些配置(例如部署描述符)。
除了可移植的JNDI名称之外,JBoss还提供了从java:JBoss/exported命名空间中的远程VM进行访问的功能。
为了方便起见,JBoss的默认日志记录在部署时在控制台和服务器日志文件中显示JNDI名称、EJB绑定到的名称。记录器为org。jboss。像ejb3。部署on信息
级别。
示例:
12:00:00,000 INFO [org.jboss.as.ejb3.deployment] (MSC service thread 1-6) WFLYEJB0473: JNDI bindings for session bean named 'MyBean' in deployment unit 'subdeployment "my-beans.jar" of deployment "my-app.ear"' are as follows:
java:global/my-app/my-beans/MyBean!my.package.MyBeanRemote
java:app/my-beans/MyBean!my.package.MyBeanRemote
java:module/MyBean!my.package.MyBeanRemote
java:jboss/exported/my-app/my-beans/MyBean!my.package.MyBeanRemote
为了访问EJB,您可以进行手动JNDI查找,或者使用EJB注释查找方法进行注入。
我是新的Gradle,但需要建立一个开源项目,使用它,从我的机器上的公司网络。该项目最近转移到静态编程语言DSL,因此需要一些插件。 我需要使用我们的corporate Nexus服务器获取插件依赖项,我希望全局设置,因为我不想修改在所有项目中(我已经尝试过了,而且效果很好) 如果我想在全球范围内这样做,我从https://docs.gradle.org/current/userguide/plu
问题内容: 是否有删除所有全局npm模块的命令?如果没有,您有什么建议? 问题答案: 以下命令删除所有全局npm模块。注意:这在Windows上不起作用。。 下面是它的工作原理: 列出所有全局顶级模块(请参阅cli文档中的ls) 打印所有实际上不是npm本身的模块(不以结尾) 全局删除前一个管道上的所有模块
问题内容: 我大致了解这种构造的作用:它创建了SomeType EJB,并将对象注入到另一个EJB中。 现在,我有一个以这样的方式开始的类:(尽管我认为只有的相关,我会给出所有类级别的注释) 什么的就做吗?他们可能会从JNDI获取或创建“ name1” …对象,但是将结果放在哪里?我看不到附近有任何电话,但是代码库很大,所以我对此不太确定。 额外的问题:我想这两个注释只是重复默认值? 更新:目前有
问题内容: 我有一个目录,里面有一堆文件:,…和。 我想排除所有以该功能开头的文件。 我该怎么做? 问题答案: glob的模式规则不是正则表达式。相反,它们遵循标准的Unix路径扩展规则。仅有几个特殊字符:[来自glob ]支持两个不同的通配符和字符范围。 因此,您可以排除某些带有模式的文件。 例如,要排除清单文件(以开头的文件)和glob,可以使用:
问题内容: 我知道全局变量不好。 但是,如果我在框架的40个文件中使用节点的模块“ util”,那么最好仅将其声明为全局变量,例如: 在index.js文件中,而不是在40个文件中写入该行? 因为我经常在每个文件中使用相同的5-10个模块,这样可以节省大量时间,而不是一直复制粘贴。 在这种情况下干不好吗? 问题答案: 每个模块应该是独立的。在每个模块的第一个需求之后,require都不会花费任何东