Articles of java

如何增加WAS特定WAR的堆大小?

我有一个特殊的WAR文件部署的地方。 这个WAR文件在大多数情况下运行正常,但有时会运行到Java OOM问题。 我想知道是否有任何控制来增加特定WAR的Java HEAP大小? 当我运行ps -eo命令时,我可以看到相关的进程信息: /IBM/JRE/bin/java -Xmx768M -Xms768M -Xgcpolicy:gencon ….. 我相信这个WAR的堆大小被设置为768 MB,但是我从客户端收到它,我不应该改变它的内容…或者我应该调整其中的一个XMLconfiguration文件?

MySQL数据库真的很慢,一个真正的大桌子

我有一个1.5亿行的MySQL表。 以下是它的数据结构。 以下是它的一些数据。 现在,使用PHP我的pipe理员我跑了下面的命令。 SELECT `iwords` FROM `wordstable` WHERE `iwebs` = "a1" 它说,运行查询花费的时间不到一秒钟。 以下是certificate。 但实际上,这需要大约1分钟来显示我的数据! 所以我运行了一个Java代码来查看时间。 在下面。 public void select(String str) { try { long startTime = System.currentTimeMillis(); Statement s = con.createStatement(); ResultSet executeQuery = s.executeQuery("SELECT `iwords` FROM `wordstable` WHERE `iwebs` = \"a1\" "); int r=0; long endTime = System.currentTimeMillis(); System.out.println("Time took by Database: "+(endTime-startTime)); […]

在Windows Server 2008 R2上安装思科ASDM的问题

我试图尽可能缩短这一点。 我的公司有一台带有思科ASDM-IDM启动器的电脑,通过它我们可以访问我们的防火墙(typesASA 5505)。 现在我们要在我们的服务器上安装ASDM,所以我们不需要在每台IT客户机上安装。 问题:我们找不到安装程序。 前雇员安装了一切,我们不能问他。 一些谷歌search后,大多数说只是在浏览器( https:// [ip]或https:// [ip] /pipe理员 )input不起作用的IP 。 有没有办法来安装该死的ASDM? 可能有用的信息: – ASDM版本:6.3(1) – 设备types:ASA 5505 – ASA版本:8.3(1) – Java版本:1.6.0_43 – 操作系统:Windows 7 6.1

在LISTEN状态下持续tcp连接

我的Java应用程序有时可以被外部脚本杀死。 这可以通过SIGTERM或者SIGKILL来完成。 应用程序是一个每秒接收很多连接的服务器,在尝试提供服务时可能会被终止。 我想重新启动应用程序,所以我已经为此准备了一个脚本。 问题是,一旦应用程序被终止,新的应用程序实例就无法绑定到前一个实例使用的端口,因为“地址已经在使用”了。 前一个实例的进程已经被终止了,反正这个有问题的监听端口仍然存在,但是被分配给了bash (或者在其他机器上)。 Obviouly, 我的目标是重新启动应用程序,并让它成功绑定到以前的地址 。 我已经尝试等待200多秒,然后重新启动无济于事,无论如何我不能等待那么多。 我在运行应用程序的所有机器(这是一个Java 1.6的docker服务器)上遇到过这个问题。 任何build议表示赞赏,谢谢, 西尔维奥 编辑杀死jvm进程不是我退出我的应用程序的正常方式,这是用来在出现问题(OutOfMemoryErrors)的情况下。 我从来不需要用SIGKILL来杀死它,因为SIGTERM总是足够的,只有在SIGTERM失败的情况下,我才会使用SIGKILL,这从来没有发生过。 我正在研究一个长期的解决scheme,同时我必须通过在这里和那里应用缝线来运行我的应用程序。 编辑更清楚:这是netstat -tunap | grep行我查杀之前看过程: tcp6 0 0 :::8898 :::* LISTEN 22709/java 这是在杀了这个过程之后 tcp6 0 0 :::8898 :::* LISTEN 23665/sh 注意PID 22709的进程被杀死了,但是端口仍然在那里(但是被sh锁住了) 更新后,我杀了我的应用程序,用netstat我可以看到一个长长的CLOSE_WAIT状态挂起的连接列表,我的IP作为目的地。 另外,我可以在状态LISTEN中看到一个sh进程监听我的端口:当我终止它时,一个睡眠进程replace它并监听同一个端口:当我终于终止了这个hibernate进程时,端口被释放,我可以成功重启我的服务器。 这可能是一个解决scheme,让我的端口释放,但我担心自动杀死进程,以释放一个端口有点冒险

Tomcat和部署与pipe理/pipe理屏幕

通过Admin / Mgmt接口在Tomcat上部署Java Web应用程序的正确方法是什么,并将其作为根应用程序并托pipe在端口80上? 默认情况下,我得到/myapp-0.1和端口8080? 大多数商店是否在他们的Java应用服务器之前使用了带有反向代理的Apache? 那么对于最终用户,他们看到从/和端口80服务的应用程序? 与Java没有太多的历史,所以8080和子目录的目的/意图对我来说是新的。 谢谢。

从CPU超载保护Java服务器采取哪些步骤?

我写了一个Java服务器应用程序,用于我正在处理的软件解决scheme。 服务器使用multithreading来处理套接字和postgresql作为数据库。 我担心潜在的恶徒,就像现在,有人很容易就能通过反复快速地连接我的服务器。 基本上我正在寻找一种方法来接受来自计算机的连接,这些计算机在过去一秒钟之内还没有连接。 我想我可以注册所有的连接,并设置一个计时器,但我也认为,服务器可能仍然过载,不得不同时检查多个连接,尽pipe没有计时器那么多。 我search了stackoverflow和serverfault没有结果这个特定的问题:/。 设置非常简单。 所有连接都在主要方法中被接受并被转发到相应的线程: public static void main(String[] args) { gui = new mainFrame(); try { ServerSocket serverSock = new ServerSocket(80); while (true) { Socket sock = serverSock.accept(); new Thread(new listenThread(sock)).start(); } } catch (IOException ex) { methods.log("Couldn't create server"); ex.printStackTrace(); } } 将不胜感激任何帮助。 麦克风。

在linux中运行一个Java应用程序

我正在运行一个Java应用程序与MySQL作为后端,我使用的是Fedora操作系统,现在有什么办法可以单独运行该应用程序,当系统启动时,我也想禁用所有其他不需要的服务应用程序运行。 我如何做到这一点? 任何提示和帮助将是有用的

没有请求时,我可以让Tomcat离线吗?

我一直在使用Ubuntu服务器上的Tomcat 7的一个小网站。 但是还有其他的进程在服务器上运行,我认为Tomcat在CPU和内存上都有很高的负载。 因此,我很好奇,如果我可以把Tomcat服务器的睡眠模式,而没有响应。 有没有办法做到这一点在服务器上自动或有其他的servlet容器,我们可以做到这一点?

如何在java服务器的ssl中禁用112位密码套件

如何在Java应用程序服务器上禁用112位密码套件。 具体这些之一。 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_3DES_EDE_CBC_SHA 我编辑了java.security文件,并使jdk.tls.disabledAlgorithms=SSLv3, MD5withRSA, DH keySize < 2048 ,仍然列出这些algorithm。 我也想降级防攻击( TLS_FALLBACK_SCSV ) 该怎么办 ?

多个Tomcat实例

我在一个服务器上有一个Staic IP,可以通过Internet公开访问。 我在该服务器上运行Apache WebServer。 我该如何做 – 在3个不同的内联网PC上运行的3个Web应用程序(在Tomcat上) – 通过互联网可用 – 使用一个我公开的可访问IP。 需要注意的是,Static-IP Server Machine可以有两个网卡,也可以访问内网PC。 请build议最好的方法来解决这个问题。 非常感谢。