Articles of java

我怎样才能安全地升级java软件?

我运行一个大多数时间都很忙的java应用程序。 当我需要升级它时,我会发送一条消息,在下一个可用的机会干净地退出,然后升级类文件,然后重新启动它。 我真的希望能够做的是升级类文件,然后让程序在下一个好机会踢自己,但是我发现(这是solaris)是,如果你修改磁盘上的文件当一个程序正在运行,有时会发生不好的事情。 我认为,因为并不是所有的类文件都在jvm中,所以有时需要从磁盘重新加载,或者solaris正在从磁盘加载不匹配旧的二进制文件的部分文件。 我已经看到它与C二进制文件也是如此。 有什么build议么? 做一个移动和复制是否更安全,所以相同的磁盘信息不会被写入,但是新的文件是由一个新的inode创build的?

Java的'tnameserv'需要3分钟以上才能“准备就绪”,为什么呢?

我试图帮助一个应用程序的开发,我想在Linux上使用Corba服务器来解决问题。 我把这个问题缩小了3分钟,以便在调用之后做好准备。 tnameserv在3分钟内试图做什么,无论如何我可以加快速度? 应用程序失败,因为它试图在重试之间进行5次连接尝试,间隔1秒; 这显然没有给tserverserv足够的时间做好准备。 我在Slackware 13.0上使用Java 6u17 如果重要的话。 tnameserv的实际调用如下: tnameserv -ORBInitialPort 23423 在shell中运行该命令时,它似乎挂起,直到3分钟左右,我终于看到它显示“就绪”。 UPDATE 我做了一个strace -f tnameserv -ORBInitialPort 23423 ,我看到了gettimeofday(),clock_gettime()和futex()的调用,后者总是返回'-1 ETIMEDOUT(Connection timed out)。 我有一种感觉,这是与我的问题有关,但我不知道如何或为什么。 这只是我从strace中看到的一小部分。 有人可以复制和/或理解这个吗? [pid 30950] futex(0x8128e14,FUTEX_WAIT_PRIVATE,1,{0,49903084})= -1 ETIMEDOUT(连接超时) [pid 30950] futex(0x8098a28,FUTEX_WAKE_PRIVATE,1)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC,{329619,995857482})= 0 [pid 30950] gettimeofday({1260930158,92108},NULL)= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC,{329619,995996617})= 0 [pid 30950] clock_gettime(CLOCK_MONOTONIC,{329619,996088536})= 0 [pid 30950] gettimeofday({1260930158,92328},NULL)= […]

错误:找不到中央目录结束

我试图在Unix机器上使用ant任务在weblogic9上部署一场战争。 我收到以下错误: [wldeploy]打开文件[文件path]时出错无法find中央目录结束。 战争文件的名称类似于数据源。 如果war文件名与数据源匹配,则只会发生此错误。 战争成功部署的名称不同于weblogic中的数据源。

tomcat和getLocalHostexception的问题

我在“云”服务器上运行一个名为S1的Linux服务器,当tomcat 6.0.24启动时,我得到了一个exception: org.apache.catalina.connector.Connector pause SEVERE: Protocol handler pause failed java.net.UnknownHostException: S1: S1 at java.net.InetAddress.getLocalHost(InetAddress.java:1353) at org.apache.jk.common.ChannelSocket.unLockSocket(ChannelSocket.java:485) 然后导致: ERROR ehcache.Cache – Unable to set localhost. This prevents creation of a GUID. Cause was: Sjira1: S1 java.net.UnknownHostException: S1: S1 at java.net.InetAddress.getLocalHost(InetAddress.java:1353) at net.sf.ehcache.Cache.<clinit>(Cache.java:143) 我的主机文件是: 127.0.0.1 localhost localhost.localdomain (valid-ip-address) S1 S1.(valid domain name) ping S1和S1(有效域名)返回有效的ip地址 nslookup S1。(有效域名)返回有效的IP地址 nslookup […]

用于监视WebSphere Application Server(以及其中的应用程序)的有用的JMX度量标准?

pipe理WebSphere Application Server内托pipe的定制Java应用程序时,您发现哪些JMX度量标准对于监视性能,监视可用性和疑难解答问题最有用? 而且,您希望如何分割和可视化这些指标(例如,前10位主机的图表,应用程序图表等)。 我可以得到的细节越多越好,因为我需要指定一套IT可以为IT托pipe的应用程序的所有者提供的一套标准报告,这些应用程序的所有者可以自定义,但很多人不会打扰。 所以我需要拿出一大堆可以直接使用的通用报告。 显然这个问题没有一个完美的答案,所以我会接受最全面的细节答案,我会慷慨提供任何其他有用的答案。 我的问题是特定于WebSphere的,但是我意识到大多数JMX度量标准同样适用于任何容器,所以随时给JBoss,Tomcat,WebLogic等提供答案。

Java应用程序在Citrix会话启动时崩溃

我们有一个通过citrix发布的Java应用程序。 当为新用户启动应用程序时,启动时会立即崩溃。 如果我们使用RDPlogin,然后注销(不启动应用程序),它开始工作。 我们已经发布了另一个较小的Java应用程序,它适用于新用户,而无需先使用RDPlogin。 脚步: – Publish java app – create new user – run published app in citrix -> crash – log on user using rdp, log out – run published app in citrix -> works fine 将每个新用户login到每台Citrix服务器成为一个真正的难题:-P

在用Apache完成之前loggingHTTPS命中

我有一个SVN仓库,通过HTTPS(通过Apache)提供服务。 那么,一些请求似乎导致SVN服务器吓坏了,吃100%的CPU。 我说“似乎”,因为在Apachelogging连接之前,SVN服务器发生了故障,所以我看不到哪个URL正在被命中。 客户端是IntelliJ,并且据我所知它不能准确logging发送给我的内容。 我怎么debugging呢? 我已经知道某人在IntelliJ中点击了什么使服务器变得疯狂,但我真的很想看到确切的查询。 是否有一些选项可以使Apache在完成之前logging请求? 要么… ?

Websphere 7.0工作pipe理器最大线程被忽略?

我试图追查内部应用程序中的错误,作为这项工作的一部分,我注意到WAS(BASE 7.0.0.0 r0835.03)中的“最大线程数”设置和I在服务器运行的时候。 我想知道,如果这种行为是正确的,或者如果它可能是一个错误,无论是在WAS或我们的应用程序。 所以,在我有一个工作pipe理器configuration在服务器范围: MyWorkManager 工作超时:0 工作请求队列大小:0 队列满:阻塞 服务名称:安全(仅) 警报线程:2 最小线程:0 最大线程:5 线程优先级:5 不可增长 一旦我们的应用程序启动并使用工作pipe理器,我使用wsadmin进行线程转储,并且有19个线程正在积极地进行工作,其名称为: java.lang.ThreadGroup [name = MyWorkManager:my_ear,maxpri = 10] 我会假设我们会看到最多5个工作pipe理器线程。 任何想法可以进行或进一步诊断,我可以运行?

我可以通过扩展密钥使用限制对Tomcat的SSL访问吗?

我想限制SSL访问使用证书的Tomcat实例,而不是依赖任何“用户”帐户。 我有一个用于签署证书的CA,但是如果我configurationTomcat来信任CA,那么它将信任任何由它签名的人 ,而我想限制得多,只允许我已经批准的证书特定的用法(即,我在该服务器上运行的应用程序)。 在我看来,这正是X.509的扩展密钥用法的一部分,我可以创build具有定义为自定义值的字段的证书,但我无法弄清楚是否有任何方法使Tomcat注意该领域,只允许某些用途。 有谁知道如何做到这一点? 即使是Apache httpd的指针也是有用的,因为我可以把Tomcat置于https前端。

Cisco Pix 501(可能还有506e)PDM Web访问和Java错误

在现代计算机/浏览器的旧思科Pix 501或506e上使用PDM有什么好的select吗? 我在远程站点有一个老的501,只有从我的位置有https访问。 我可以通过命令行进行更改,但由于访问受限,需要使用Web界面。 不幸的是,Java控制台在PDM启动之前给出了一个难看的错误。 我已经用我手上的所有系统和浏览器试过了。 以下是Windows XP工作站的输出: Webpage error details User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 1.1.4322; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) Timestamp: Thu, 12 May 2011 21:34:02 UTC Message: Object doesn't support this property or method Line: […]