Quercus的用法其实就是一个Servlet 下载Quercus:http://quercus.caucho.com/ (下载war文件,在web-inf/lib/下提取 inject-16.jar 加入如下servlet映射: <servlet> <servlet-name>Quercus Servlet</servlet-name> <servlet-class>com.caucho.quercus.servlet.QuercusServlet
(JavaDeserializer.java:400) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject( JavaDeserializer.java:233) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java :157) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java :2067) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1592) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1576) 一般是由于提供者
, WebAppFilterChain (com.caucho.server.webapp) doFilter:95, AccessLogFilterChain (com.caucho.server.webapp com.caucho.network.listen) handleRequestsImpl:1307, TcpSocketLink (com.caucho.network.listen) handleRequests (com.caucho.network.listen) runTasks:173, ResinThread2 (com.caucho.env.thread2) run:118, ResinThread2 (com.caucho.env.thread2) (向右滑动,查看更多) 找到: service:304, ServletInvocation (com.caucho.server.dispatch) (com.caucho.network.listen) runTasks:173, ResinThread2 (com.caucho.env.thread2) run:118, ResinThread2
(com.caucho.network.listen) runTasks:173, ResinThread2 (com.caucho.env.thread2) run:118, ResinThread2 #getInvocation com.caucho.util.LruCache#get com.caucho.server.http.AbstractHttpRequest#buildInvocation com.caucho.server.http.AbstractHttpRequest#buildInvocation com.caucho.server.dispatch.InvocationDecoder resin-xtp -> com.caucho.jsp.XtpServlet resin-jsp -> com.caucho.jsp.JspServlet resin-jspx -> com.caucho.jsp.JspServlet resin-file -> com.caucho.servlets.FileServlet resin-php -> com.caucho.quercus.servlet.QuercusServlet
:273) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:200) com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2731) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2057) at com.alibaba.com.caucho.hessian.io.JavaDeserializer at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2731) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject ) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:2128) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject
Resin下载 最新版: https://caucho.com/products/resin/download/archive Resin3.x https://caucho.com/products webapp: add info log when WebApp does not start within active-wait-time starts (#6197) http://www.caucho.com /resin-4.0/changes/changes.xtp https://caucho.com/resin-4.0/reference.xtp#active-wait-time
作者:KimJun@Timeline Sec 本文字数:4039 阅读时长:3~5min 声明:仅供学习参考使用,请勿用作违法用途,否则后果自负 0x00 Resin简介 Resin 是 CAUCHO 公司(http://www.caucho.com/)的产品,是一个非常流行的支持 servlets 和 jsp 的引擎,速度非常快。 /products/resin/download/gpl](https://caucho.com/products/resin/download/gpl),本地调试环境需要下载source,和搭建Tomcat " %> <%@ page import="com.<em>caucho</em>.server.dispatch.FilterConfigImpl" %> <%@ page import="com.<em>caucho</em>.server.dispatch.FilterMapping web1 = (com.<em>caucho</em>.server.webapp.WebApp) web; com.<em>caucho</em>.server.dispatch.ServletMapping smapping
Maven <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId> <version org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.remoting.caucho.HessianProxyFactoryBean ; //import org.springframework.remoting.caucho.HessianProxyFactoryBean; import org.springframework.remoting.caucho.HessianServiceExporter
(JavaDeserializer.java:671) at com.alibaba.com.caucho.hessian.io.JavaDeserializer$ObjectFieldDeserializer.deserialize (JavaDeserializer.java:400) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java :233) at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:157) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObjectInstance(Hessian2Input.java:2067) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject(Hessian2Input.java:1592) at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject
测试环境 java version “1.8.0_71” pom.xml <dependency> <groupId>com.caucho</groupId> <artifactId ; import com.caucho.hessian.io.HessianOutput; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream ; import com.caucho.hessian.io.HessianOutput; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl ; import com.caucho.hessian.io.HessianOutput; import com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl ; import com.caucho.hessian.io.Hessian2Output; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream
. --> <resin xmlns="http://<em>caucho</em>.com/ns/resin" xmlns:resin="http://<em>caucho</em>.com/ns/resin/core %s] " format="${log.level}-${log.threadID}-${log.message}-${log.shortName}"/> <logger name="com.<em>caucho</em>.java " level="config"/> <logger name="com.<em>caucho</em>.loader" level="config"/> <stdout-log path-format="log production - 'fine' or 'finer' for development and troubleshooting --> <logger name="com.caucho " level="info"/> <logger name="com.<em>caucho</em>.java" level="config"/> <logger name="com.<em>caucho</em>.loader
将hessian-4.0.2.jar分别添加至以上项目的Classpath中 下载地址http://hessian.caucho.com/ 二、创建Hessian服务示例 1.创建服务接口 具体服务通过此服务器端此接口的实现类来提供 String smt); } 2.使用HessianProxyFactory创建客户端 Java代码 package org.migle.hessianclient; import com.caucho.hessian.client.HessianProxyFactory Hessian"); //在服务器端控制台打印 "Hello Hessian" } } package org.migle.hessianclient; import com.caucho.hessian.client.HessianProxyFactory welcome-file-list> <servlet> <servlet-name>hessian</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet welcome-file-list> <servlet> <servlet-name>hessian</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet
java.lang.String (Ljava/lang/String;), dubbo version: 2.8.4, current host: xx.xx.xx.xx com.alibaba.com.caucho.hessian.io.HessianProtocolException : expected map/object at java.lang.String (Ljava/lang/String;) at com.alibaba.com.caucho.hessian.io.AbstractDeserializer.error (AbstractDeserializer.java:108) ~[dubbo-2.8.4.jar:2.8.4] at com.alibaba.com.caucho.hessian.io.AbstractMapDeserializer.readObject (AbstractMapDeserializer.java:70) ~[dubbo-2.8.4.jar:2.8.4] at com.alibaba.com.caucho.hessian.io.Hessian2Input.readObject
官网地址:http://hessian.caucho.com/ 目前已经支持N多语言,包括:java/c#/flex/php/ruby... maven的依赖项如下: 1 <dependency> 2 <groupId>com.caucho</groupId> 3 <artifactId>hessian</artifactId> 4 <version>4.0.37</version> servlet-name>hessian-service</servlet-name> 14 15 <servlet-class> 16 com.caucho.hessian.server.HessianServlet 将普通bean导出成Hessian服务 --> 13 <bean name="/service" 14 class="org.springframework.remoting.<em>caucho</em>.HessianServiceExporter spring-context.xsd"> 8 9 <bean id="hessianClient" 10 class="org.springframework.remoting.<em>caucho</em>.HessianProxyFactoryBean
-- 2 - Resin 4.0 configuration file. 3 --> 4 <resin xmlns="http://<em>caucho</em>.com/ns/resin" 5 xmlns:resin="urn:java:com.<em>caucho</em>.resin"> 6 7 <! :'info'}"/> 34 35 <logger name="com.<em>caucho</em>.java" level="config"/> 36 <logger name="com.<em>caucho</em>.loader
问题复现 package com.lingyejun.test; import com.alibaba.com.caucho.hessian.io.Hessian2Input; import com.alibaba.com.caucho.hessian.io.Hessian2Output e.printStackTrace(); } return null; } } 过程 hessian2官方文档:http://hessian.caucho.com
1.首先下载resin: http://www.caucho.com/ 2.下载resin 的eclipse插件: 在eclipse的更新地址填上http://caucho.com/eclipse
package com.caucho.server.resin; public class MonitorApp { public static void main(String[] args) package com.caucho.server.resin; import java.util.concurrent.Executors; import java.util.logging.Level 另外重点提一嘴:拿下去只需修改 com.caucho.server.resin.Resin 为你要监控应用的主函数即可。 String> env = buildEnv(); ArrayList<String> jvmArgs = buildJvmArgs(); jvmArgs.add("com.caucho.server.resin.Resin package com.caucho.server.resin; import java.io.IOException; import java.io.InputStream; import java.net.Socket
官网地址:http://hessian.caucho.com/,该公司还有一个比较有意思的web服务框架:http://baratine.io/,感兴趣的可以尝试玩下见入门教程http://doc.baratine.io -- 引入hessian依赖 --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId import org.byron4j.hessian.entity.User; import org.byron4j.hessian.service.HelloService; import com.caucho.hessian.server.HessianServlet -- 引入hessian依赖 --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId -- 引入hessian依赖 --> <dependency> <groupId>com.caucho</groupId> <artifactId>hessian</artifactId
应用程序的jar文件完整路径名 $> jps -l 28729 sun.tools.jps.Jps 23789 com.asiainfo.aimc.bossbi.BossMain 23651 com.caucho.server.resin.Resin -Xss1m -Dresin.home=/data/aoxj/resin -Dserver.root=/data/aoxj/resin -Djava.util.logging.manager=com.caucho.log.LogManagerImpl – Djavax.management.builder.initial=com.caucho.jmx.MBeanServerBuilderImpl 详细情况请参考sun官方文档。