<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mxia520的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mxia520</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mxia520]]></copyright><item><title><![CDATA[webservice 公共client调用]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84109533</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84109533</guid><author>mxia520</author><pubDate>Thu, 15 Nov 2018 20:28:58 +0800</pubDate><description><![CDATA[一、背景

每个顾客都对应一个wsdl

二、实现原理

1、思路一：cxf JaxWsProxyFactoryBean 代理实现

 通过把每个wsdl的配置信息提供给WsFactory动态生成client，缓存起来。然后根据传过来的类的信息反射调用方法。

参数有wsdl URL、接口类名、方法密码、参数类名、证书信息等

 

2、思路二：根据wsdl,为每个方法提供模板（velocity等...]]></description><category></category></item><item><title><![CDATA[webservice添加用户密码验证]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84109041</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84109041</guid><author>mxia520</author><pubDate>Thu, 15 Nov 2018 18:57:56 +0800</pubDate><description><![CDATA[一、增加maven 依赖


         &amp;lt;dependency&amp;gt;
		    &amp;lt;groupId&amp;gt;org.apache.cxf&amp;lt;/groupId&amp;gt;
		    &amp;lt;artifactId&amp;gt;cxf-rt-ws-security&amp;lt;/artifactId&amp;gt;
		    &amp;lt;version&amp;gt;3.1.8&amp;lt;/version&amp;gt;
]]></description><category></category></item><item><title><![CDATA[Webservice客户端调用方式]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84108305</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84108305</guid><author>mxia520</author><pubDate>Thu, 15 Nov 2018 18:08:30 +0800</pubDate><description><![CDATA[一、生成ws client代码调用

该种方式使用简单，但一些关键的元素在代码生成时写死到生成代码中，不方便维护，所以仅用于测试。

二、service编程调用

该种方式可以自定义关键元素，方便以后维护，是一种标准的开发方式



 
import java.io.IOException;
import java.net.MalformedURLException;
import java.ne...]]></description><category></category></item><item><title><![CDATA[根据wsdl生成代码]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84107960</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84107960</guid><author>mxia520</author><pubDate>Thu, 15 Nov 2018 17:38:54 +0800</pubDate><description><![CDATA[一、JDK只带工具wsimport.exe

wsimport [options] &amp;lt;WSDL_URI&amp;gt;

比较常用的[options]有：

-d &amp;lt;directory&amp;gt;     //在指定的目录生成class文件

-clientjar &amp;lt;jarfile&amp;gt;     //在当前目录生成jar文件，结合-d &amp;lt;directory&amp;gt;可以在指定的目录生成...]]></description><category></category></item><item><title><![CDATA[cxf+spring实现webservice]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84107236</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84107236</guid><author>mxia520</author><pubDate>Thu, 15 Nov 2018 17:23:16 +0800</pubDate><description><![CDATA[1、添加cxf maven依赖


        &amp;lt;dependency&amp;gt;
            &amp;lt;groupId&amp;gt;org.apache.cxf&amp;lt;/groupId&amp;gt;
            &amp;lt;artifactId&amp;gt;cxf-rt-frontend-jaxws&amp;lt;/artifactId&amp;gt;
            &amp;lt;version&amp;gt...]]></description><category></category></item><item><title><![CDATA[统一配置管理（redis+ehcache）]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84103877</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84103877</guid><author>mxia520</author><pubDate>Thu, 15 Nov 2018 15:11:30 +0800</pubDate><description><![CDATA[1、读取本地缓存流程

2、刷数据流程

3、本地缓存定时获取更新数据







一、背景

系统中存在各种开关配置（如是否写大数据日志，是否校验）和各种业务配置，配置信息比较多。

在大流量的情况下直接访问redis缓存会压垮redis。故选择redis+本地缓存的方式。



二、实现原理

1、刷redis策略（通过定时任务）

全量刷：通过增加一条定时任务记录去刷数据到redis...]]></description><category></category></item><item><title><![CDATA[注解xmlPath实现bean的映射]]></title><link>https://blog.youkuaiyun.com/mxia520/article/details/84071729</link><guid>https://blog.youkuaiyun.com/mxia520/article/details/84071729</guid><author>mxia520</author><pubDate>Wed, 14 Nov 2018 20:06:09 +0800</pubDate><description><![CDATA[一、背景

xml文档节点比较多，结构层次复杂，而无需根据xml结构映射实体和取所有的节点内容（一两百个节点，只需取二十多个节点信息）。

二、实现思路

把xmlpath通用注释映射对应的字段。通过反射读取xmlPath，根据xmlPath读取xml文档对应节点内容后反射设值。

三、代码实现

1、缓存字段与xmlpath映射


import java.lang.reflect.Field;...]]></description><category></category></item></channel></rss>