Articles of java

在WebSphere 8.5(64位Linux)上部署时如何增加ws_ant.sh的堆大小

TL; DR – 如何在运行时给予ws_ant.sh和/或<wsInstallApp>任务更多的堆? 我试图在64位Linux平台上运行一个相对较大的(〜160 MB)EAR文件到WebSphere 8.5。 这是我在我的build.xml的任务: <wsInstallApp ear="/my/ear/file/location/New.EAR" properties="jvm.properties" options="-appname myNewEarApp -update -deployws" host="localhost" conntype="SOAP" user="the_username" password="not_telling_you" failonerror="true" /> 用WAS打包的ws_ant.sh执行它会导致OutOfMemoryError和堆转储。 所以,我需要在运行时增加可用的堆(或ws_ant本身?),但我无法弄清楚这样做的适当位置。 我尝试修改wsadmin.sh ,而如果直接使用wsadmin.sh作为Jython脚本运行我的部署,则会产生影响,它似乎对Ant脚本中<wsInstallApp>的执行没有任何影响。 根据wsInstallApp的IBM文档 : properties属性是可选的,它包含一个包含要在JVM系统属性中设置的属性的java属性文件 在我的jvm.properties文件中,我试过了: [user@localhost]$ cat jvm.properties -Xms4096m -Xmx4096m 这没有效果。 使用-v verbose标志执行ws_ant.sh显示某处的-Xmx值设置为-Xmx256m 。 我尝试了几个其他的头发组合和格式,但似乎没有任何工作。 我也尝试在ws_ant.sh调用中添加参数: [user@localhost]$ ws_ant.sh -Xms4096m -Xmx4096m -v -f build.xml was.deploy …但这似乎也无能为力 我究竟做错了什么? 我承认,如果按下,我可能可以通过使用wsadmin.sh和Jython脚本重写部署来满足我的要求,但我试图利用来自不同EAR应用程序的一些广泛的Ant脚本。 备择scheme? 我也认识到,我可以使用<wsadmin> Ant任务从Ant内部调用一些Jython脚本 – […]

elasticsearch glibc内存损坏

我的弹性search群无故停止崩溃。 我能在日志中看到的是: INFO | jvm 4 | 2015/04/17 19:10:09 | *** glibc detected *** /usr/java/jre1.7.0_04/bin/java: malloc(): memory corruption: 0x00007f6a2c4d8560 *** 我有一个主人和两个奴隶的集群。 我有一个旧版本(“0.20.2”),但从来没有一个问题,目前为止…我不能更新容易,只会认为这是最后的手段。 我不知道从哪里开始, 到目前为止,我已经改变了以下设置: wrapper.java.additional.3=-Xss256k到wrapper.java.additional.3=-Xss512k 并删除了所有的指标(这需要一些清洁) 不幸的是,即使没有任何索引,问题仍然存在。 java is java version "1.7.0_04" Java(TM) SE Runtime Environment (build 1.7.0_04-b20) Java HotSpot(TM) 64-Bit Server VM (build 23.0-b21, mixed mode) 包装设置更改之前,我也越来越 INFO | jvm 1 | 2015/04/17 16:03:05 […]

垃圾回收和内存展示器(GCMV)不总是生成报告

我在ISA 4.1中使用GCMV来分析群集中的一些gc日志。 当我在该工具中打开native_stderr.log文件时,它始终创build以下4个报告/选项卡: 表数据 线图 结构化数据 native_stderr.log 这些报告是有用的,但他们不总结太多,只有其中一个(线图)实际上可以根据date和时间过滤。 什么是真正有用的是什么时候该工具还生成一个总结报告的build议和一个高层次的统计表可以过滤。 但是,无论出于何种原因,GCMV工具并不总是生成此报告。 它通常似乎是为我分析的文件的20%创build的,甚至不会为同一文件两次生成一致。 有什么方法可以强制GCMV每次创build汇总报告?

为什么CATALINA_OPTS参数在运行tomcat的java进程中出现,尽pipe它是一个环境variables

我在Python中通过这个命令运行tomcat进程: os.execve(cmd, [cmd, "run"], env) envvariables设置CATALINA_OPTS = -server -Xms512m -Xmx512m -Xss512k现在当我运行下面的java脚本的脚本时,在ps输出中显示: java -server -Xms512m -Xmx512m -Xss512k org.apache.catalina.startup.Bootstrap start 我的问题是,即使CATALINA_OPTS是一个环境variables,为什么CATALINA_OPTS出现在java进程的ps输出中?

在Tomcat 8中设置'tomcat'非root用户

我在Debian 8中安装了Tomcat 8,我需要加强web服务器。 我遵循官方的Tomcat文档指南,在安全考虑部分build议创build另一个用户(名为tomcat)并启动Tomcat进程: Tomcat不应该在root用户下运行。 为Tomcat进程创build一个专用用户,并为该用户提供操作系统所需的最低权限。 例如,使用Tomcat用户不应该可以远程login。 我已经按照指南的build议创build了tomcat用户和组。 我使用以下configuration创build了/etc/systemd/system/tomcat.service文件: [Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking #ExecStart=/opt/tomcat/bin/startup.sh ExecStart=/usr/share/tomcat8/bin/startup.sh #ExecStop=/opt/tomcat/bin/shutdown.sh ExecStart=/usr/share/tomcat8/bin/shutdown.sh User=tomcat Group=tomcat [Install] WantedBy=multi-user.target 我做了一个软链接: root@pc:/lib/systemd/system# ln -s tomcat.service /etc/systemd/system/tomcat.service 我在systemd中启用了服务: root@pc:/lib/systemd/system# systemctl enable tomcat.service Created symlink from /etc/systemd/system/multi-user.target.wants/tomcat.service to /lib/systemd/system/tomcat.service. 现在,当我检查tomcat进程是否正在运行时,我找不到tomcat用户作为进程的所有者: tomcat@labnet:/lib/systemd/system$ ps -aux | grep tomcat tomcat8 18116 1.2 8.0 1662560 […]

JavaFX:在主机提供商处远程连接MySQL数据库。 安全?

我的JavaFX桌面应用程序当前连接到一个托pipe的MySQL数据库在bluehost远程。 我在我的JavaFX应用程序中查询“SELECT”,“UPDATE”,“DELETE”,并成功完成。 我正在使用JDBC驱动程序来连接它。 DriverManager.getConnection("jdbc:mysql://mysql_ip_on_bluehost_here:3306/my_db", dbUser, dbPass); 我的问题是。 这种方法是否安全?

Tomcat6上的Java Webapp使用libservlet3

所有这些Java的东西我都是新手。 我用tomcat6在Ubuntu机器上安装了一堆War-Packed的Web应用程序。 其中一个不起作用(skos-play),显然是因为它需要libservlet3,而Tomcat6则带有libservlet2.5。 对于其他的其他应用程序,tomcat6被推荐,我不知道他们是否会与7一起工作…在尝试之前我想问 有没有可能告诉一个单独的Web应用程序li​​bservlet库它应该使用,以便我可以使用我的tomcat6,但与libservlet3的特定应用程序? 如果没有,是否有可能(你会推荐)在同一台机器上运行tomcat6和tomcat7的实例吗? 非常感谢您的帮助和祝福!

Ubuntu上SoftLayer上的Java TimeoutException

我有Java应用程序,在我的本地机器上正常工作。 但是当我试图在SoftLayer上启动它,所有的连接太长了。 例如,通过HttpAsync或其他(socket等)的简单http连接持续1-2分钟。 但连接完成后,数据快速发送/接收。 我无法弄清楚什么问题。 我认为,与APF防火墙的MB问题。 但即使在没有防火墙的服务器,我有这个问题。 所以…东西阻止了我在Java中的连接。 简单的curl到相同的url是快速的。 我怎样才能find问题? UPD:即使我尝试连接到127.0.0.1上的本地服务,也是如此 UPD2:但是当我在IDE中启动项目时,不存在这样的问题。 只有手动启动时才会出现问题。

Java MSI安装错误3:-2147287037

我们希望通过它的msi静默安装Java 8更新60。 安装停止了一个模糊的错误,这对find一个解决scheme没有什么帮助。 这是MSI日志: === Verbose logging started: 10.09.2015 07:42:04 Build type: SHIP UNICODE 5.00.7601.00 Calling process: D:\Service\JRE\jre-8u60-windows-i586.exe === MSI (c) (90:48) [07:42:04:015]: Resetting cached policy values MSI (c) (90:48) [07:42:04:015]: Machine policy value 'Debug' is 0 MSI (c) (90:48) [07:42:04:015]: ******* RunEngine: ******* Product: C:\windows\system32\config\systemprofile\AppData\LocalLow\Oracle\Java\jre1.8.0_60\jre1.8.0_60.msi ******* Action: ******* CommandLine: ********** MSI (c) (90:48) [07:42:04:015]: […]

如何在AWS Oracle RDS上使用Java UDF?

我正在尝试在AWS Oracle RDS中使用Java udf。 在一个托pipe的Oracle服务器上,我可以使用类似下面的方法来实现: CALL dbms_java.loadjava('-user <username>/<password> /home/<username>/<filename>.jar'); CREATE OR REPLACE FUNCTION myFunction(param1 VARCHAR2) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'myPackage.myFunction(java.lang.String) return java.lang.String'; 但是,在AWS Oracle RDS中,我无法将jar文件放在本地文件系统中以使用相同的方法。 有没有办法把我的jar文件的RDS本地文件系统或解决方法做同样的?