`
elicer
  • 浏览: 131158 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
在旧的基于JAX-RPC的webservice编程model中,是不支持异步的service 调用的,在最新的Jax-ws webservice 编程model中,加入了对webservice的异步调用的支持。首先我来讲一下它的原理,大家不要以为在异步的调用下,从client到server 之间的soap m ...
import javax.xml.namespace.QName; import javax.xml.soap.MessageFactory; import javax.xml.soap.SOAPBody; import javax.xml.soap.SOAPBodyElement; import javax.xml.soap.SOAPMessage; import javax.xml.ws.BindingProvider; import javax.xml.ws.Dispatch; import javax.xml.ws.Service; import javax.xml.ws ...
在开发webservice 的程序中,我们经常要把soap request 跟soap response要打出来查看,但是如果我们取soap body中的内容打出的化会是很长的一个xml string,非常的不可读,以下class提供的一个方法把xml string format成可读的格式. 例如 <Root><child1>test1</child1><child2>test2</chidl2></Root> 格式化以后 <Root>    <child1>test1</child ...
通过JAX-WS 2.1,你能够发送binary data 在基于soap 的webservice application 中。它有两种方式来反送binary data. 1.直接发送encoded的binary data 在soap请求的body中。 2.把binary data 作为soap body的一个附件来发送 第一种发送方式的优点是比较通用,它适用于任何传输协议(SOAP,/HTTP, SOAP/JMS, and so on),但是它有一个弊端就是这些要传输的binarydata 会被JAX-WS 2.1 使用base64 encoded.这将会导致要传输的soap Message ...
在旧的基于JAX-RPC的webservice编程model中,是不支持异步的service 调用的,在最新的Jax-ws webservice 编程model中,加入了对webservice的异步调用的支持。 首先我来讲一下它的原理,大家不要以为在异步的调用下,从client到server 之间的soap message 流也是异步的,其实不是,Soap/Http 协议在同步跟异步的调用下是一样的,都是客户端的service在运行时打开一个connectin,发送请求,然后接收返回,这些都在同一个connection中。这种方式对我们有什么影响呢? 从客户端程序的角度来讲,没有影响,客户端的编 ...
当前最新的webservice 开发模型是 JAX-WS, 它support 两种webservice的client 类型。 A. Proxy Clients B.Dispatch Clients 下面就对这两种client 类型做一个讲解。 1.概念 基于代理的客户端工作在webService 暴露的实现了SEI(Service Endpoint Interface)的本地代理对象上。 基于dispatch-client的model,是一个低level的model,它要求你自己提供必要的xml Request,这种model主要使用在一下两种情形:1.当你想自己动态组建你的SOAP re ...
Mail 的正则表达式很多,以下是一个能用jdk自带的正则表达式编译器解析的mail正则表达式 \\w+(\\.\\w+)*@\\w+(\\.\\w+)+
Introduction A WSDL document describes a Web service. A WSDL binding describes how the service is bound to a messaging protocol, particularly the SOAP messaging protocol. A WSDL SOAP binding can be either a Remote Procedure Call (RPC) style binding or a document style binding. A SOAP binding can als ...
package com.beetle.framework.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.net.InetAddress; import java.net.UnknownHostException; import java.uti ...
大家可能每天都在用apache 的log4j在打log,可大家有没想过它的内部是怎么实现的呢,我在这里实现的一个简单的log,希望对大家了解打log的过程有所了解。 由于实现的比较简单,没有加入对log level的支持。 public class AuditLogManager { private static LogFileThread logFile = null; private static boolean bWrite = true; public static void writeInfo(String sInfo) { if (!bWri ...
AOP的cache  大家都很熟悉,关于cachekey的生成方式有多种,最简单的是className+methodName+parameters ,这种方法的弊端太多,如果parameter是一个复合对像,那么在拼key时就比较麻烦。 我在以前的一片文章中讲过用annotation来标注复合对象中需要作为cache的子对象,能解决复合对象generate cachekey的问题,但这是一种侵入式的,需要加入额外的代码,真正的AOP cache应该式非侵入式的,就是cache的生效不需要其它代码有任何额外的工作。做function的程序员不需要关心cache的任何东西,cache对他们来说是透明 ...
AOP 我想大家对它一定都很熟悉,但是又有多少人对它的几个基本概念真正很清楚呢,官方文档看了很多,但总觉的讲的还是太抽象,今天我将以我自己的理解,用一种通俗的讲法,再解释一下: 1. Aspect:  你可以把它想象成那些你需要在整个application ,全局范围内要使用的common 的 feature(比如 logging, performance monitoring, exception handling, transaction management, etc). 2. Advice:   Advice就是一段代码,将要在程序运行时被调用,它就是你的aspect的实现逻辑,是实现 ...
我想大家对于AOP的cache的实现都不陌生,老版本的AOP的cache的key一般是用className+methodName+parameters 拼成一个key,在这里paremeters最好都是String的,如果是一个对象型的在拼key时就会出现问题,可能我每次调某个方法时传进来的参数object都是new出来的,可能尽管他们的内容是一样的,但是他们的内存地址是不一样的,如果我们只是在StringBuffer中append一下的话,就有可能出现我调相同的方法,传相同的参数,但是拼出来的key却是不一样的,这就导致cache失效,而且每调一次cache中就会出现一份相同的返回数据,这里我 ...
要集成Dynamic cache 跟 ibatis的cache 主要就是要写CacheControllerimport java.util.Properties; import javax.naming.InitialContext; import javax.naming.NamingException; import com.ibatis.sqlmap.engine.cache.CacheController; import com.ibatis.sqlmap.engine.cache.CacheModel; import com.ibm.websphere.cache.D ...
OpenJpa的cache机制要比其他的ORM框架自带的cache要强大的多,其他的ORM框架如hibernate自带的cache是session 级别的,如果你想实现跨session的cache就必须集成third party的cache(Ehcache,oscache),但openjpa的cache是能够跨session的,对应jpa的标准来说就是跨entityManager是EntityManagerFactory level的,而且openjpa的cache还能够support multi-JVM,也就是能够在分布式的环境中使用。 openJpa的cache分为两种,一种是DataCa ...
Global site tag (gtag.js) - Google Analytics