2012-09-10 4 views
24

Tôi có một chương trình web sử dụng struts2, spring3 và hibernate 4 chạy trong Tomcat. Nó có thể hoạt động, nhưng Tomcat báo cáo số java.io.EOFException.Có gì sai với cấu hình của tôi? SEVERE: IOException trong khi tải các phiên liên tục: java.io.EOFException

Sau đây là các bản ghi tomcat:

INFO: Deploying web application directory D:\apache-tomcat-7.0.29\webapps\manager 
九月 10, 2012 4:27:02 下午 org.apache.catalina.session.StandardManager doLoad 
SEVERE: IOException while loading persisted sessions: java.io.EOFException 
java.io.EOFException 
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2298) 
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) 
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) 
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) 
    at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58) 
    at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246) 
    at org.apache.catalina.session.StandardManager.load(StandardManager.java:204) 
    at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100) 
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 

九月 10, 2012 4:27:02 下午 org.apache.catalina.session.StandardManager startInternal 
SEVERE: Exception loading sessions from persistent storage 
java.io.EOFException 
    at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2298) 
    at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2767) 
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:798) 
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:298) 
    at org.apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58) 
    at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:246) 
    at org.apache.catalina.session.StandardManager.load(StandardManager.java:204) 
    at org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:491) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5294) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) 
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1100) 
    at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1618) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
    at java.lang.Thread.run(Thread.java:722) 
+12

Nếu bạn đang sử dụng eclipse bạn có thể nhấp chuột phải vào máy chủ của bạn và chọn "Clean Tomcat Work Directory" cũng có. – GauravS

Trả lời

52

Bạn có thể xóa $ {catalina.home}/công việc/Catalina/localhost/< ứng dụng > /SESSION.ser nơi ứng dụng là ứng dụng của bạn.

+0

Bạn đã lưu ngày của tôi. Cảm ơn! – Sid

+0

Tôi đã làm sạch thư mục làm việc của mình để không có hiệu lực. Sau khi đọc xong, tôi đã cắt bỏ, làm sạch, thêm vào và sau đó làm sạch lại. Điều đó làm việc ... cảm ơn! –

+1

Tôi phải xóa toàn bộ công việc/thư mục để giải quyết vấn đề. – spiffytech

6

Bạn có thể xóa $ {CATALINA_HOME}/công việc/Catalina/localhost/test

nơi thử nghiệm là thư mục ứng dụng (tên chiến tranh) của bạn.

này giải quyết vấn đề của tôi

0

Tôi gặp một dự án trong nhật thực và sử dụng tomcat plugin để chạy nó, tôi đã cố gắng này, nhưng nó đã không giúp đỡ, vì vậy tôi quan sát thấy trong cấu trúc thư mục dự án của tôi có một công việc nhiều hơn thư mục, tôi đã xóa thư mục đó và mọi thứ bắt đầu hoạt động. Chỉ muốn chia sẻ câu trả lời này nhiều hơn cho những người khác như tôi.

0

Tôi đã thử các phương pháp trên: "xóa thư mục công việc" trong $ {CATALINA_HOME}/work/Catalina/localhost, "tên đường dẫn quản lý uncomment" trong $ {CATALINA_HOME} /conf/context.xml. Không làm việc.

Và tôi thấy rằng trong các dự án nhật thực của mình, dự án máy chủ cũng có một tệp gọi là "context.xml", nó phải được sao chép khi dự án máy chủ được tạo. Và tôi "uncomment manager pathname" ở đó, nó hoạt động cuối cùng!

Hy vọng nó sẽ giúp ai đó!

3

Thử xóa thư mục Công việc của tomcat, sau đó khởi động lại tomcat. Nó làm việc cho tôi!

0

Như @GauravS cho biết. Tôi đang sử dụng nhật thực vì vậy khi tôi nhấp chuột phải vào máy chủ tomcat (trong cửa sổ Máy chủ) và làm sạch nó hoạt động ...

Đôi khi tôi phải loại bỏ chiến tranh khỏi tomcat, sạch hơn chạy lại.

Đôi khi tôi xóa tomcat và nhấp chuột phải vào cửa sổ Máy chủ, Mới, Máy chủ và Tôi sử dụng cùng một cổng mà tôi đang sử dụng và xóa máy chủ cũ.

PS: để mở cửa sổ Servers:

Window - Show View - Other - write "Servers" and choose it from the list - OK