2012年5月16日
摘要:
Container容器接口定义public interface Container extends Serializable { /** * Default dependency name. */ String DEFAULT_NAME = "default"; /** * 对当前对象 执行依赖注入 * 引用了@Inject注解的 方法 字段 构造器 参数 * @param o */ void inject(Object o); /** * 创建实例 然后再依赖注入 */ <T> T inject(Class<T...
阅读全文
posted @ 2012-05-16 18:21
YangJin
阅读(221)
推荐(0)
摘要:
StrutsPrepareAndExecuteFilter实现了Filter接口 init方法为初始化入口StrutsPrepareAndExecuteFilter init方法 public void init(FilterConfig filterConfig) throws ServletException { //初始化辅助类 类似一个Delegate InitOperations init = new InitOperations(); try { // FilterHostConfig 封装了FilterConfig参数对象...
阅读全文
posted @ 2012-05-16 18:19
YangJin
阅读(169)
推荐(0)
2012年5月13日
摘要:
一:服务端web.xml <!-- DispatcherServlet --> <servlet> <servlet-name>Spring-DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> &
阅读全文
posted @ 2012-05-13 14:21
YangJin
阅读(279)
推荐(0)
2012年5月12日
摘要:
Hessian客户端主要是通过proxy代理来实现 当客户端调用远程接口方法时 会被HessianProxy 代理 HessianProxy invoke方法主要做以下工作1.把调用的 方法名称 参数 序列化2.通过HttpURLConnection向服务端发送调用请求3.服务端返回的结果 反序列化Proxy是由HessianProxyFactory创建HessianProxyFactory的create方法 public Object create(Class<?> api, URL url, ClassLoader loader) { if (api == null) thro
阅读全文
posted @ 2012-05-12 21:56
YangJin
阅读(539)
推荐(0)
2012年5月11日
摘要:
Hessian服务端核心对象HessianSkeleton 主要做两件事 1.把客户端请求的流反序列化得到 对应的方法名称 参数2. 服务类(service)对应方法执行完成 把结果序列化到输出流hessian服务端暴露服务是通过HessianServlet public class HessianServlet extends GenericServlet {
}HessianServlet的init方法主要初始化服务类(service) 和HessianSkeleton 每一个服务类对应一个HessianSkeleton 在HessianSkeleton中持有业务类的引用 public v
阅读全文
posted @ 2012-05-11 17:19
YangJin
阅读(338)
推荐(0)
摘要:
一:服务端(HessianServlet暴露服务)web.xml <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>com.caucho.hessian.server.HessianServlet</servlet-class> <!-- 一个服务对应一个HessianServlet ? --> <init-param> <param-name>home-class</param-name> <para
阅读全文
posted @ 2012-05-11 13:29
YangJin
阅读(181)
推荐(0)
2012年5月10日
摘要:
import java.util.LinkedHashMap;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock; public class LRUCache<K, V> extends LinkedHashMap<K, V> { private static final long serialVersionUID = -656812640814484468L; /** 默认最大容量 */ private static final int DEF
阅读全文
posted @ 2012-05-10 13:50
YangJin
阅读(222)
推荐(0)
2012年4月30日
摘要:
环境:1、sun jdk1.6.02、jprofiler_windows_6_0_2.exe安装1. jdk, 安装略...2. jprofiler安装一路next 到Enter license key 界面key :L-Larry_Lau@163.com#78484-akisfpr22a5j#268在一直next到finish 很简单配置监控tomcat web项目剩下的三步都默认 一路next下去 完成启动
阅读全文
posted @ 2012-04-30 22:46
YangJin
阅读(144)
推荐(0)
2012年4月27日
摘要:
一:发布服务web.xml <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/config/applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listene
阅读全文
posted @ 2012-04-27 11:02
YangJin
阅读(195)
推荐(0)
2012年4月9日
摘要:
一: 暴露服务(HttpRequestHandlerServlet 暴露服务)package com.xx.service; public interface ISayHelloService { /** * @param name * @return */ String doSayHello(String name);
}
package com.xx.service.impl; import com.xx.service.ISayHelloService; public class DefaultSayHelloServiceImpl implements ISa...
阅读全文
posted @ 2012-04-09 16:06
YangJin
阅读(172)
推荐(0)