问题标签 [websphere]
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 - WebSphere 6.1 中的 CPU 使用率峰值
首先,只是一点背景:
我们的一位客户在运行我们的 Web 应用程序之一的 WebSphere 实例时遇到 CPU 使用高峰(具有其他应用程序的其他实例很好)。他们有一个测试环境和一个实时环境(都是 iSeries),它们都遇到了问题 - 每个实例设置一个应用程序。我们已经在我们自己的测试环境中本地部署了这个应用程序,也为许多其他客户部署在 iSeries 上,没有类似的问题。
实际发生了什么:
每隔一秒左右,WebSphere 进程的 CPU 使用率就会跳到任何地方7%
——20%
即使当时没有正在处理的请求。客户报告看到峰值高达30%
. 当空闲时,这些峰值平均是1.5%
CPU 的整体(通常使用的其他 WebSphere 实例0%
) 。0.1%
到目前为止我的调查
所以,我看了一下线程。测试环境中的一个线程~350
每秒使用 CPU 周期。他们实时环境中的一个类似线程~1500
每秒使用 CPU 周期(表明它具有更大的 CPU)。这些线程的调用堆栈看起来像
底线的整个班级名称是com/ibm/ws/util/BoundedBuffer
. 我让客户为我做一个 JVM Dump——我从中得到的唯一额外信息是线程名称:
现在我的问题:
- 鉴于这些症状,你们中的任何人都能找出问题所在吗?(也许这是一个长镜头!)
- 是什么
Deferrable Alarm
?从 JVM Dump 中,我可以看到 4 个具有此名称的线程。其他三个似乎做得很好。通过调试我的本地 WebSphere(在 Windows 上)并在类中添加断点BoundedBuffer
,我看到BoudedBuffer
s 正在轮询并定期调用一些侦听器。 - 我无权访问客户机器的 WebSphere 控制台,他们也不承认对配置进行了任何更改。不过,我可以让他们帮我检查控制台——我应该让他们看什么?
- 我可以通过 telnet 访问客户邮箱,这里还有什么可以调查的吗?查看 WebSphere 配置文件等?我应该查看哪些文件?
- 因为调用堆栈和 JVM 转储没有显式引用我们的代码,所以假设这是一个配置问题是否安全?
这是一个很长的问题,所以感谢您阅读本文。
4 月 30 日更新 (1)
今天早上我注意到这种行为只发生在当天的第一个请求被处理之后(无论调用哪个 Web 服务)。这将手指指向我们的应用程序或 Apache Axis。难道这只是正常的行为?!
4 月 30 日更新 (2)
因此,这种 CPU 活动似乎是 Web 容器的某种内务活动,或者可能是 Apache Axis 中的某种活动。我现在观察到这种情况发生在几个不同服务器上的几个不同 Web 应用程序上。没有 Web 组件的应用程序不会遭受同样的额外 CPU 开销。
我想如果它是家务工作,那么“调整”它可能会适得其反——我的意思是,让 App Server 更好地空闲可能会对它可以做的“实际”工作量产生负面影响。
java - JavaEE 5,WAS 6.0 JSP 的奇怪问题包括
我们目前正在将我们的应用程序从生产环境迁移到全新的数据中心。
- 当前生产环境:Java 1.4、Java EE 3、WAS 5.1、JSF 2.1
- 新数据中心环境:Java 1.5、Java EE 5、WAS 6.1、JSF 2.1
案例 1:EAR 结构符合标准规范
。EAR -> WAR -> WEB-INF -> lib -> *.jar(所有应用程序特定的 jar 都在 WEB-INF/lib 下)。这不起作用,我们继续获取类加载器未找到的类的异常。此外,上述 AJAX 调用失败(未生成输出)
案例 2:EAR 包含根目录上的所有应用程序 JAR 文件(MANIFEST.MF 具有手动指定的类路径)。
这种方法非常有效,并且所有 JAR 文件都被加载,没有任何问题。此外,AJAX 调用也很顺利。
任何想法为什么会发生这种情况。
- 阿什什
java - Java 1.5、Java EE 5、WAS 6.1:使用 ResourceBundle.getBundle(...) 加载资源包时出现异常
这是我们在将应用程序从当前生产环境迁移到新数据中心环境时面临的另一个问题(请参阅下面的详细信息)
- 当前生产环境:Java 1.4、Java EE 3、WAS 5.1、JSF 2.1
- 新环境:Java 1.5、Java EE 5、WAS 6.1、JSF 2.1
这里我们有一个具有以下结构的第三方 jar 文件(检查图像 - 请原谅我隐藏了一些细节)
此类具有从 ResourceBundle (db.properties) 加载数据库属性的代码。这是 Cavaj 渲染的代码:
此应用程序在当前环境下运行良好。但不知何故,当我们将应用程序移动到新环境时,我们会得到一个“MissingResourceException”(见下文):
我们尝试了以下解决方法,但都没有奏效:
- 将 db.properties 重命名为 db_en_US.properties
- 将属性文件放入jar
- 在 EAR 级别移动 jar 文件。
请建议这里可能有什么问题。我们能做些什么来让它工作:)
注意:文件 db.properties 位于 WEB-INF/classes 目录下。我们也尝试将其放在上述位置,但无济于事。
问候,
-阿什什
java - Can I set the classloader policy for WebSphere in the ibm-web-bnd.xmi file?
I have a JEE application that runs on WAS 6. It needs to have the class loader order setting to "Classes loaded with application class loader first", and the WAR class loader policy option set to "Single class loader for application".
Is it possible to specify these options inside the EAR file, whether in the ibm-web-bnd.xmi file or some other file, so the admin doesn't need to change these setting manually?
Since the app is deployed via an automated script, and the guy who is in charge of deployment is off site, and also for some other political reasons, this would greatly help!
java - MQJE018:协议错误 - 收到意外的段类型
呼叫所有 MQ 大师,
我的桌子下面有一个盒子,我们用它来复制我们的生产环境,它是:
WebSphere 6.1 Fedora Linux MQ 6.0
每当我们的一个应用程序尝试向 MQ 队列发送消息时,我们都会收到以下错误:MQJE018:协议错误 - 收到意外的段类型
任何有关这可能意味着什么的建议都将不胜感激,堆栈跟踪如下。
编辑:我在 IBM 文档中查找了原因代码,但几乎没有帮助
polymorphism - WCF -> Websphere Integration Developer and polymorphism
I have a .NET WCF service which exposes an object that uses polymorphism.
Apparantly, Websphere Integration Developer is unable to handle this properly (I am not the Websphere developer), except by adding all fields of all possible polymorphisms and using a enum or such to say that it is an object of such and such type.
I can't possibly believe that IBM has created a product that doesn't support polymorphism! so.. Can anyone explain how to handle this, or point to resources which I can pass on?
websphere - IBM RAD 7 和 Websphere 6.1 速度慢且无响应
在使用 Websphere 和 RAD 进行本地开发时,如何提高性能?我正在使用一个中等大小(1000 个类)的 Web 应用程序,并且无法在 Windows 机器上本地处理该应用程序。Websphere 6.1 配置使用默认配置。RAD7 配置为处理 1024mb 的最大堆。我想过增加服务器的堆。目前,最小和最大为 128/300mb。
就无响应而言,如果页面完全加载,有时可能需要几分钟才能加载页面。另外,我禁用了“自动构建”并自动发布。也许那些应该打开?
websphere - Websphere 配置模板
有谁知道是否可以导出 websphere application server 6.1 的现有配置并将其导入到其他 WAS 实例?
java - StackTrace 中的行号指向方法开始
我们正在使用 Rational Application Developer 7.5(基于 Eclipse 3.4)为 WebSphere Application Server 6.1 开发一个 Web 应用程序。在登台服务器上检查堆栈跟踪时,行号始终指向方法的开头,而不是实际行。在本地开发环境中(每个开发人员都有自己的本地 Websphere 6.1 运行)一切似乎都很完美。
在 Java > Compiler > 部分 Classfile Generation 下的 Eclipse Preferences 中,所有内容都已检查。
部署是通过使用 RAD 的earExport
Ant 目标(不是ear
核心任务)构建 EAR 文件来完成的。之后它被重新打包以删除一些不必要的文件。没有启动显式编译 - 使用工作区中的类。
怎么会发生这种情况,这些信息会丢失?这是一些热点优化的一部分吗?如果是这样,它可以被禁用吗?
我怎样才能找回正确的行号?
java - 如何使用应用程序安全执行 EJB 查找?
我正在尝试从独立的 java 应用程序中查找 EJB。我正在考虑 WebSphere Application Server 6.1,但如果有人知道如何为另一个应用程序服务器执行此操作,它可能会让我朝着正确的方向前进。
我目前在做什么:
这不起作用...我的主题仍然是“/未验证”,当我尝试查找 EJB 时出现错误。在执行应用程序时,我还为 VM 指定了以下参数:
-Dcom.ibm.CORBA.ConfigURL="C:\was\profiles\AppSrv01\properties\sas.client.props" -Djava.security.auth.login.config="C:\was\profiles\AppSrv01\properties\ wsjaas_client.conf"