标签: java

tomcat 的 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory 在哪里?

在此页面上:http : //tomcat.apache.org/tomcat-7.0-doc/jndi-resources-howto.html描述了如何为 DataSource 资源设置 JNDI 名称。它告诉您 Tomcat 的标准数据源工厂是 org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory,但是在 Fedora 17 上安装 Tomcat 后,我​​搜索了系统上的每个 jar 文件,但找不到包含此类的文件。

它在哪里?

tomcat java fedora

2
推荐指数
1
解决办法
7409
查看次数

在我的网络上部署 java 7 se 安全吗?java 7 与 java 6 兼容吗?

我正在为一个拥有大约 20 台 Windows XP PC 的小型非营利组织做一些系统管理员工作。我正在执行标准维护以及其他一些工作。我对 java 7 感到困惑。为了一致性起见,我宁愿每个系统上只有一个版本的 java。如果我在所有系统上安装 java 7 并删除 java 6,基于 java 6 的 java 应用程序是否仍然有效?java 7 可能会导致任何问题吗?

java

2
推荐指数
1
解决办法
191
查看次数

VPS 上的 Linux 内存不足

在我的 VPS (CentOS) 4GB ram(2 + 2 需要时动态分配)上,我让 tomcat 运行以下选项 JAVA_OPTS="-Xms256m -Xmx2048m -XX:MaxPermSize=256m"。

现在,当我尝试启动其他基于 Java 的应用程序(如 hudson 服务器)时,出现以下错误:

 没有足够的内存供 Java 运行时环境继续使用。
 本机内存分配 (malloc) 未能为 Chunk::new 分配 664080 字节
 包含更多信息的错误报告文件保存为:
 /server/hs_err_pid26476.log

似乎系统无法分配 650KB 的内存,但它应该有 1.2 GB 的空闲空间。

自由 -m 
             缓存的已用空闲共享缓冲区总数
内存:4096 2816 1279 0 0 0
-/+ 缓冲区/缓存:2816 1279
交换:0 0 0

我发现在某个地方我还应该检查 /proc/user_beancounters,它在 privvmpages 上显示了 failcnt。我不知道这意味着什么(提供商是否按预期提供了 4GB 内存?还是他在作弊?)

# cat /proc/user_beancounters
版本:2.5
       uid 资源持有 maxheld 屏障限制 failcnt
 70692271:kmemsize 15371949 15388993 41943040 46137344 0
            锁定页面 0 0 1024 1024 0
            privvmpages …

linux vps java virtual-memory

2
推荐指数
1
解决办法
1947
查看次数

尝试访问 HTTPS URL 时 Domino 9 中的 Java CertificateException

当我们将 Domino 开发服务器从 8.5.3 升级到 9 时,从 Java 代码到具有GoDaddy证书的站点的 HTTPS 连接停止工作。与具有DigiCert证书的服务器的连接工作正常。这发生在代理和 XPage 中。

这是一个 XPage 示例代码:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.beforePageLoad>
             <![CDATA[#{javascript:new java.net.URL("https://www.sslshopper.com/").openStream();]]>
    </xp:this.beforePageLoad>
</xp:view>
Run Code Online (Sandbox Code Playgroud)

我也试过UrlConnection。这是例外:

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: 3659
    com.ibm.jsse2.o.a(o.java:15)
    com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:460)
    com.ibm.jsse2.kb.a(kb.java:294)
    com.ibm.jsse2.kb.a(kb.java:533)
    com.ibm.jsse2.lb.a(lb.java:55)
    com.ibm.jsse2.lb.a(lb.java:581)
    com.ibm.jsse2.kb.s(kb.java:11)
    com.ibm.jsse2.kb.a(kb.java:394)
    com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:44)
    com.ibm.jsse2.SSLSocketImpl.h(SSLSocketImpl.java:496)
    com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:528)
    com.ibm.jsse2.SSLSocketImpl.startHandshake(SSLSocketImpl.java:505)
    com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:83)
    com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:31)
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1184)
    com.ibm.net.ssl.www2.protocol.https.b.getInputStream(b.java:40)
    java.net.URL.openStream(URL.java:1022)
Run Code Online (Sandbox Code Playgroud)

...

java.security.cert.CertificateException: 3659
com.ibm.domino.napi.ssl.DominoX509TrustManager.checkServerTrusted(DominoX509TrustManager.java:98)
    com.ibm.jsse2.lb.a(lb.java:468)
    com.ibm.jsse2.lb.a(lb.java:581)
    com.ibm.jsse2.kb.s(kb.java:11)
    com.ibm.jsse2.kb.a(kb.java:394)
    com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:44)
    com.ibm.jsse2.SSLSocketImpl.h(SSLSocketImpl.java:496)
    com.ibm.jsse2.SSLSocketImpl.a(SSLSocketImpl.java:528)
    com.ibm.jsse2.SSLSocketImpl.startHandshake(SSLSocketImpl.java:505)
    com.ibm.net.ssl.www2.protocol.https.c.afterConnect(c.java:83)
    com.ibm.net.ssl.www2.protocol.https.d.connect(d.java:31)
    sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1184)
    com.ibm.net.ssl.www2.protocol.https.b.getInputStream(b.java:40)
    java.net.URL.openStream(URL.java:1022)
Run Code Online (Sandbox Code Playgroud)

我根据以下说明将 GoDaddy 证书导入到 domino_path\jvm\lib\security\cacerts 密钥库:

http://drcs.ca/blog/adding-godaddy-intermediate-certificates-to-java-jdk/

但这并没有帮助,我还导入了gd-class2-root.crt 却没有结果。我还尝试重命名 …

java https ssl-certificate ibm-domino

2
推荐指数
1
解决办法
6906
查看次数

CATALINA_HOME 环境变量未正确定义 运行此程序需要此环境变量”

我已经安装了 JDK 7 和 tomcat 7 并设置了以下环境变量:

PATH: ......C:\Progra~1\Java\jdk1.7.0_51;F:\apache-tomcat-7.0.52-windows-x86\apache-tomcat-7.0.52\bin;
CATALINA_HOME: F:\apache-tomcat-7.0.52-windows-x86\apache-tomcat-7.0.52;
JAVA_HOME: C:\Progra~1\Java\jdk1.7.0_51;
JRE_HOME: C:\Progra~1\Java\jre7;
Run Code Online (Sandbox Code Playgroud)

当我尝试运行命令时catalina.bat,它会引发以下错误:

The CATALINA_HOME environment variable is not defined correctly 
This environment variable is needed to run this program.
Run Code Online (Sandbox Code Playgroud)

执行命令时setclasspath.bat,它抛出以下错误:

The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program.
Run Code Online (Sandbox Code Playgroud)

当我尝试执行命令时service.bat,错误是:

The tomcat7.exe was not found...
The CATALINA_HOME environment variable is not defined correctly.
This environment variable is needed to run this program". …
Run Code Online (Sandbox Code Playgroud)

java tomcat7

2
推荐指数
1
解决办法
8万
查看次数

几小时后Tomcat崩溃

我正在运行带有 Tomcat 和一个 Web 应用程序的 CentOS 6.5 64 位操作系统。我使用 Apache (httpd) 作为应用程序的反向代理 (ProxyPass)。直到最近,它 (Tomcat) 一直运行良好,没有崩溃。最近,我向 http 服务器添加了一个 Joomla 站点和 PHP(显然)。在那之后不久,我开始让 Tomcat 崩溃。

当它崩溃时,Tomcat 不会在Catalina.out. 我终于在/var/log/messages. 我希望有人可以粗略地看一下并指出我正确的方向:

============

Jul 23 01:19:31 myservername kernel: httpd invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0, oom_score_adj=0 
Jul 23 01:19:31 myservername kernel: httpd cpuset=/ mems_allowed=0 
Jul 23 01:19:31 myservername kernel: Pid: 6104, comm: httpd Not tainted
2.6.32-431.1.2.0.1.el6.x86_64 #1

Jul 23 01:19:31 myservername kernel: Call Trace:
Jul 23 01:19:31 myservername kernel: [<ffffffff810d05c1>] ? cpuset_print_task_mems_allowed+0x91/0xb0
Jul …
Run Code Online (Sandbox Code Playgroud)

tomcat java

2
推荐指数
1
解决办法
4582
查看次数

Redhat phantom 内存不足问题

我们有一个运行各种无头应用程序的服务器,例如 Java。它处理流数据、日常 python 脚本等。我们的一些应用程序有时会收到out of memory errors.

我们遇到的问题是监控显示内存充足。我们把它从128GB升级到192GB,但并没有解决问题。我们的监控每 20 秒读取一次读数,并显示过去 2 天内的最小可用内存为 132GB。但今天早上我们发现一些应用程序因内存不足错误而失败。内存充足的情况下是否有可能发生 OOM?

编辑:回答大卫的问题

  • 是的,192GB 只是分配给操作系统的 RAM。它是一个虚拟机
  • 监控将读取操作系统的空闲/可用内存,我们没有任何每个进程监控
  • 大多数 java 进程不会在 CLI 上指定内存要求(例如 Xmx 等)
  • 例外是“线程“主”java.lang.OutOfMemoryError中的异常:无法创建新的本机线程”

我想补充一点,多个进程同时失败。对我来说,这表明这不是流程本身的问题,而是与系统有关。一些失败的应用程序每天都在做同样的事情,即处理相当一致的数据流。他们不可能被大量的请求淹没。

redhat java centos

2
推荐指数
1
解决办法
908
查看次数

最佳 Java 服务器

我开始从事 Java Web 开发,然后我想问一下,最好的服务器是什么,例如 Apache Tomcat、Resin 等。请记住,我使用的是 Linux Ubuntu。谢谢!

linux ubuntu java

1
推荐指数
2
解决办法
2244
查看次数

Tomcat 6 需要哪个版本的 Java?

安装 Tomcat 6(最新版本)时,它要求提供 Java 安装目录,这很公平。但它似乎想要 Java 版本 5,Sun 显然已经停止使用该版本,因此对于我们的环境来说,这不是一件好事。

这是它的提示,你可以看到它要求版本 5.0:

雄猫

我想我要问的是,我可以针对 Java 6 运行它吗?我查看了 tomcat 网站,没有提到兼容的 java 版本。

非常感谢

tomcat java

1
推荐指数
1
解决办法
1万
查看次数

在 Redhat Linux 下只为一个用户安装 Java?

是否可以在 Linux(特别是 RH 7.x)上安装 JDK,使其仅存在于特定用户的空间中?

linux redhat java user-accounts

1
推荐指数
1
解决办法
2726
查看次数