草庐IT

java - JNDI 路径 Tomcat 与 Jboss

我在Tomcat6的context.xml中配置了DataSource作为MyDataSource。我正在通过以下方式获取它:DataSourcedataSource;try{dataSource=(DataSource)newInitialContext().lookup("java:comp/env/MyDataSource");}catch(NamingExceptione){thrownewDaoConfigurationException("DataSource'"+url+"'ismissinginJNDI.",e);}一切正常。现在我将此代码导出到JbossAP6。我将我

java - 单元测试困境 : Using a JNDI data source without running JBoss or Spring

问题陈述我希望能够对连接到数据库的方法运行junit测试。当前设置EclipseJavaEEIDE–Java代码不使用任何框架。开发人员(包括我在内)希望在尝试将代码移至Spring框架之前对当前遗留代码进行更健壮的测试,以便我们可以一路证明行为仍然正确。JBoss4.2–供应商软件的版本限制(AdobeLiveCycleES2);我们的JavaWeb应用程序使用JBoss的这种设置来运行并使用Adob​​eLiveCycleAPI。我们无法在Eclipse中成功运行供应商配置的JBoss–我们花了数周时间尝试此操作,包括联系为我们提供JBossforAdob​​eLiveCycle配

java - 如何在运行时更改 Java 属性?

问题:有没有什么方法可以“连接”到正在运行的JVM并更改系统属性(由-Dproperty=value指定)而无需停止JVM并且无需编写实现它的方法?现在,上下文:我有一个在远程机器上运行的JBoss服务器,它托管我的应用程序,还有其他应用程序。那些其他应用程序可能不会停止。使用仅与我的应用程序相关的特定-D属性调用服务器。服务器启动时为该属性分配了错误的值。我需要更改该属性。最简单的方法是重新启动JBoss,但这会导致所有应用程序停止运行一段时间。有没有一种方法可以在不停止除我自己的应用程序之外的任何应用程序的情况下更改该属性?谢谢! 最佳答案

java - 在使用 Keycloak 保护的网络应用程序中获取登录用户名

我已经使用基于wildfly的标准Keycloak适配器通过Keycloak保护了一个企业应用程序。我面临的问题是调用其余Web服务时需要知道当前登录的用户名。如何从Keycloak获取登录用户信息?我尝试使用SecurityContext、WebListener等。但是它们都无法提供所需的详细信息。 最佳答案 您从安全上下文中获取所有用户信息。例子:publicclassGreeter{@ContextSecurityContextsc;@GET@Produces(MediaType.APPLICATION_JSON)public

java - Log4j:多线程调用是同步的吗?

我们在对系统进行压力测试时遇到了一个有趣的问题。我们大量使用log4j(在JBOSS中)进行日志记录。这是我们的一些日志记录的简单示例voidsomeFunction(){Log.info("enteredsomefunction");...Log.info("existedsomefunction");}现在我们注意到有趣的事情是,如果我们针对此函数启动100个线程;每个线程的Log.info()调用都是阻塞的。这意味着线程2正在等待线程1完成“Log.info”调用。如果是线程100;它最终等待了很长时间。我们正在使用native文件记录器。这是一个已知问题吗?

java - 如何在 Eclipse 中添加 JBoss 服务器?

我是JBoss新手,刚刚安装了Eclipse。我已将项目添加到工作区,现在我想将其部署到Jboss服务器。但是,在NewServerRuntimeEnvironment列表中,JBoss不可用:我正在使用以下Eclipse版本:JavaEEIDEforWebDevelopers.Version:MarsRelease(4.5.0)为什么JBoss没有被列为运行时环境?我需要做什么才能将JBoss添加到可用运行时环境列表中? 最佳答案 从EclipseMars2(JEE版)开始,JBossTools可以直接从NewServer界面下载

java - 配置 Apache/Tomcat 的最佳实践

我们目前使用Apache2.2.3和Tomcat5(嵌入在JBoss4.2.2中),使用mod_proxy_jk作为连接器。有人可以阐明计算/配置以下值的正确方法(以及可能相关的任何其他内容)。Apache和Tomcat都在不同的机器上运行,并且有大量的ram(每个4gb)。相关的server.xml部分:相关的httpd.conf部分:StartServers8MinSpareServers5MaxSpareServers20ServerLimit256MaxClients256MaxRequestsPerChild0 最佳答案

java - 在 JSF Web 应用程序中处理 'session expired',在 JBoss AS 5 中运行

这个问题在这里已经有了答案:javax.faces.application.ViewExpiredException:Viewcouldnotberestored(11个答案)关闭6年前。这个问题与我的另一个问题“HowtoredirecttoLoginpagewhenSessionisexpiredinJavawebapplication?”有关。以下是我正在尝试做的事情:我有一个在JBossAS5上运行的JSF网络应用程序当用户处于非Activity状态时,比如说15分钟,如果他在session过期后尝试使用该应用程序,我需要注销用户并将他重定向到登录页面。因此,正如“JSFLog

java - Python下断断续续的 "sslv3 alert handshake failure"

我有一个在JBoss下运行的用Java编写的RESTAPI。最近我们将JVM从1.6更新到1.7。这开始导致只有我们正在连接的Python客户端出现问题。间歇性地,Python客户端会出现握手失败。我们编写了一个非常简单的测试来重现问题:importhttplib2foriinrange(1,500):printiresponse,content=httplib2.Http(disable_ssl_certificate_validation=True).request('https://server.com:8443',)给出以下输出:...64656667Traceback(mos

JBoss 7.1.1 + 弹性缓存?

我正在AWS上部署我的JavaEE应用程序(JBoss7.1.1),我现在缺少的是缓存...我似乎找不到任何关于如何使用Memcached或Redis替换或复制Infinispan缓存的文档非编程方式(我无法更改代码中的任何内容)...有人吗?我的猜测是我应该在我的standalone.xml中做一些事情......就在这里? 最佳答案 踏出,JBoss中没有对Redis/Memcached的开箱即用支持,但Infinispan8可以使用Redis作为缓存存储,参见http://blog.infinispan.org/2015/09