Tomcat-Spring-Hibernate Web应用程序中的“PermGen out of space”exception可以做些什么?

我们有一个Web应用程序,它使用Spring-Hibernate将注册用户数据保存在Oracle数据库中。 该应用程序在开发环境中运行良好,但是当我们在具有更多数据的实时环境中复制它时,它失败了。 最初应用程序正常启动,但在几次操作之后发生’PermGen out of space’exception。 我已经开始在Google,Spring和Hibernate论坛上搜索,但它没有帮助。 关于这个错误有很多讨论,但对于每个解决方案,都有人说:“它有效”,而其他人说’它没有’。 例如,许多人提出增加-XX:MaxPermSize JVM参数,其他人说它不起作用。 有post说需要使用javassist库和其他库以及cglib库的问题。 其他人说问题出在cglib上。 我们使用Java1.5_0_09,Spring 2.5和javaassist3.4.GA,Tomcat 5.5作为web容器,Oracle 10g作为数据库。 任何人都可以解释一下导致这个问题的原因以及如何解决这个问题?

Java:使用apache POI如何将ms word文件转换为pdf?

通过使用apache POI如何将ms word文件转换为pdf ? 我使用以下代码,但它没有工作给出错误,我想我正在导入错误的类? import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.OutputStream; import org.apache.poi.hslf.record.Document; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.extractor.WordExtractor; import org.apache.poi.hwpf.usermodel.Paragraph; import org.apache.poi.hwpf.usermodel.Range; import org.apache.poi.poifs.filesystem.POIFSFileSystem; public class TestCon { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub POIFSFileSystem fs = null; Document document = new Document(); try […]

从WSDL文件生成Web服务

我想从WSDL文件生成Web服务类。 我希望服务器端代码不是客户端。 wsimport创建客户端。 您使用哪个工具从WSDL文件创建服务器端代码?

程序设计 – 按function与层或两者打包?

我正处于Web应用程序的设计阶段,该应用程序允许用户创建工作请求,工作人员可以根据这些请求投入时间。 该应用程序还将为主管提供报告function,以获取每日总计,报告和帐户所花费的时间,“成本分配”。 我过去使用的应用程序是使用逐层方法设计的。 我认为通过function设计使用包会更有效率,我对这个设计有疑问。 我目前正在考虑的function包: 请求 – CRUD请求,然后分配,添加发票号等… 工作时间 – 用户针对请求,假期,培训或会议的每日时间 成本分配 – 创建报告,会计师想要的会计事项…… 前端将是Tomcat服务器和JSP。 而且,后端将是一个Oracle数据库,EclipseLink执行持久性。 我的问题: 在我对按function分组的理解中,实体和DAO将进入与它们相关联的包。 在多个包中展开持久层。 将包从其他包中调用实体。 所有的重叠是否真的有用? 包之间没有隔离。 使用打包function有什么优缺点? 使用额外的持久层是否是一个好的设计? 或者,我是否完全理解这一点?

在非单例bean上修复Spring代理上的BeanNotOfRequiredTypeException?

我在从应用程序上下文中提取Spring bean时遇到问题。 当我尝试; InnerThread instance = (InnerThread) SpringContextFactory.getApplicationContext().getBean(“innerThread”, InnerThread.class); 我明白了 org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘innerThread’ must be of type [com.generic.InnerThread], but was actually of type [$Proxy26] 如果没有getBean()调用中的指定类,我会得到一个ClassCastException(您可以在下面详细介绍)。 InnerThread bean被初始化为非单例,因为我需要多个实例。 InnerThread类还扩展了Thread。 有趣的是,这个错误出现在OuterThread中,它的设置方式与InnerThread完全相同。 我试图在下面包含所有相关的代码清单/堆栈跟踪。 有更多Spring体验的人可以告诉我这里发生了什么吗? 代码/配置清单 OuterThread.java片段: public class OuterThread extends Thread { private Queue createInnerThreads() { Queue threads = new ArrayBlockingQueue(); ApplicationContext ctx = SpringContextFactory.getApplicationContext(); int i […]

从java中的方法返回不同类型的数据?

public static void main(String args[]) { myMethod(); // i am calling static method from main() } 。 public static ? myMethod(){ // ? = what should be the return type return value;// is String return index;// is int } myMethod()将返回String和int值。 所以从main()获取这些返回值我想出了以下解决方案。 创建一个类调用ReturningValues public class ReturningValues { private String value; private int index; // getters and […]

spring:通过读取另一个bean的属性来设置一个bean的属性?

是否可以通过读取另一个bean的属性来设置一个bean的属性? 例如,假设我有: class A { void setList(List list); } class B { List getList(); } 我希望Spring实例化这两个类,并调用A的setList方法,传入调用B的getList方法的结果。 Spring配置可能类似于: 唉,这个组成的XML不起作用。 为什么不把B注入A? 因为我不想引入额外的依赖。 A只是依赖列表,而不是B.

如何为Java服务器提供多个SSL证书

我有一个用Java编写的内部HTTP服务器; 完整的源代码供我使用。 HTTP服务器可以配置任意数量的网站,每个网站都有一个单独的监听套接字创建: skt=SSLServerSocketFactory.getDefault().createServerSocket(prt,bcklog,adr); 使用使用Java keytool创建的标准密钥库,我不能在我的生活中找出如何获得与不同侦听套接字关联的不同证书,以便每个配置的网站都拥有自己的证书。 我现在正处于这种状态,因此一些代码示例将非常受欢迎。 但是我很欣赏JSSE如何在这方面联系起来的任何好的概述(我已经搜索了Sun的JSSE doco,直到我的大脑疼痛(从字面上看;尽管它可能与咖啡因戒断一样多))。 编辑 有没有简单的方法来使用别名将密钥存储区中的服务器证书与侦听套接字相关联? 以便: 客户有一个密钥库来管理所有证书,以及 没有必要摆弄多个钥匙店等。 我得到的印象(今天下午早些时候)我可以写一个简单的KeyManager,只有chooseServerAlias(…)返回非null,这是我想要的别名的名字 – 任何人都chooseServerAlias(…)条推理线有任何想法? 解 我使用的解决方案是根据slyvarking的回答构建的, 它创建了一个临时密钥库,并使用从单个外部密钥库中提取的所需密钥/证书填充它。 对于任何感兴趣的人(svrctfals是我的“服务器证书别名”值),代码如下: SSLServerSocketFactory ssf; // server socket factory SSLServerSocket skt; // server socket // LOAD EXTERNAL KEY STORE KeyStore mstkst; try { String kstfil=GlobalSettings.getString(“javax.net.ssl.keyStore” ,System.getProperty(“javax.net.ssl.keyStore” ,””)); String ksttyp=GlobalSettings.getString(“javax.net.ssl.keyStoreType” ,System.getProperty(“javax.net.ssl.keyStoreType” ,”jks”)); char[] kstpwd=GlobalSettings.getString(“javax.net.ssl.keyStorePassword”,System.getProperty(“javax.net.ssl.keyStorePassword”,””)).toCharArray(); mstkst=KeyStore.getInstance(ksttyp); mstkst.load(new FileInputStream(kstfil),kstpwd); } […]

Java:如何中断/停止线程?

我试图阻止一个线程,但我不能这样做: public class Middleware { public void read() { try { socket = new Socket(“192.168.1.8”, 2001); // code .. Scan scan = new Scan(); thread = new Thread(scan); thread.start(); } catch (UnknownHostException ex) { ex.printStackTrace(); } catch (IOException ex) { ex.printStackTrace(); } } class Scan extends Thread { public void run() { while (true) { […]

在ajax中调用java方法

我在Netbeans Ide中创建了一个jsp应用程序。 我在调用ajax中的java类方法时遇到问题。是否可以这样做 我的java类是这样的: public class Hello { public String execute(String s) { return “success”; } } 我无法弄清楚如何使用ajax调用execute方法:我当前的ajax代码是: var val=”test string”; $.ajax({ type: “GET”, url: “http://localhost:8084/Shade/src/java/mail/Main.execute”, data: val, async: true, cache: false, success: function (msg) { alert(“hi”); $(“.col-1”).html(msg); }); 提前Thanx 🙂