在我的Shiro应用程序中,我使用JndiRealmFactory
来定义我的领域。我像这样注册我的领域:
Hashtable<String, String> args = new Hashtable<>();
args.put(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.LocalInitialContextFactory");
InitialContext ctx = new InitialContext(args);
ctx.bind("realms/MyRealm", myRealm);
但是,Shiro找不到realms/MyRealm。我认为原因是,我需要定义JndiRealmFactory
的jndiUNEP,其中包含Context。INITIAL_CONTEXT_FACTORY
属性。但是,我不知道如何在我的shiro.ini
中设置此属性:
realmFactory.jndiEnvironment = ?
我在TomEE上运行我的应用程序。
我当前的shiro.ini
如下所示:
realmFactory = org.apache.shiro.realm.jndi.JndiRealmFactory
realmFactory.jndiNames = realms/MyRealm
您不应该在运行时绑定EE上下文中的任何内容。您可以在tomcat中将其定义为资源或resources.xml(特定于tomee),然后只需使用标准查找来读取值(没有传递给初始上下文的特殊属性)。
我尝试使用 Websphere 8.5 完整配置文件将应用程序转换为 Liberty 配置文件,但我遇到了有关不兼容的问题。 无法找到初始上下文工厂 我知道班级的位置com.ibm.ws.ejb.thinclient_8.0.0.jar在完整的配置文件中,但我不能在Liberty配置文件中找到相关的,还有一件事,因为我正在做维护应用程序,所以班级要看看。 com . IBM . WebSphere
问题内容: 我已经更新了项目(基于Websphere 8.5的Java EE),以使用公司内部框架的新版本(以及Ejb 3.x部署描述符,而不是2.x部署描述符)。从那时起,我的集成测试失败,但出现以下异常: 我可以使用先前的框架版本构建应用程序,并且一切正常。调试时,我注意到ContextFinder(javax.xml.bind)中有两种不同的行为: 先前版本(一切正常):所有地方都没有调出工
我希望使用JMeter在Websphere MQ队列中创建测试负载。我只想将消息放置到队列中--所以我使用JMS Publisher Sampler。我拥有的配置项是:mqhost:port、MQChannel、MQQueueManager、MQQueue 在示例中,我输入了一些设置:Provider URL:tcp://mqhost:port destination:MQQueue 对于MQCh
我有一个工厂,它应该根据名称返回一个实现。 为了让每次调用getMoules方法都不创建实例,有一个映射,其中所有的模块都必须在bootstrap类中初始化。我想摆脱手动操作的需要(也是所有的类都有一个显著的特征)。 我想到的选项列表: 反射(我们可以使用Scala反射API或任何第三方库) 自动化流程 需要在启动时立即初始化 反思是一种痛苦 宏只改变代码,执行稍后发生。 我们能把初始化过程移到编
我使用以下代码在tomcat中设置上下文路径,通过覆盖tomcat的默认路径,我可以使用直接访问应用程序。 现在我将使用WildFly-8.2.0作为运行时环境。我尝试将。war文件直接粘贴到中,我可以在等浏览器中访问我的项目。 我需要像在tomcat中那样为wildfly设置相同的配置,以便通过重写wildfly的默认欢迎页面来访问中的项目。我试图在wildfly中做同样的事情,但我被困在哪里。
Tomcat文档列出了定义上下文的三个位置: 实际上,如果我在目录中添加一个空白的文件,那么当我访问相同的JSP文件时,Tomcat将返回一个404。