OSGi环境中部署XML-RPC Server(2)
来源:互联网 发布:魔法王座翅膀5升6数据 编辑:程序博客网 时间:2024/05/16 14:36
场景二 (支持方法传入参数为字符串数组类型)
若CommunicationImpl类中,有两方法,
public Map get(Object[] o)
public Map set(Map<String, String> m)
默认情况下,该两方法都可发布为XML-RPC服务。
但若有方法签名为public Map get(String[] s),传入参数改为了字符串数组,要发布为XML-RPC服务,apache-xmlrpc-3.1.3版本中,目前还未支持。
但也有方法可以实现。具体如下:
1 创建TypeConverterFactoryImpl的子类,重写getTypeConverter(Class pClass)方法,创建stringArrayTypeConverter。
2调用setTypeConverterFactory方法,设定1步中创建的实例。
如:
PropertyHandlerMapping phm = new PropertyHandlerMapping();
phm.setTypeConverterFactory(new MyTypeConverterFactoryImpl());
public class MyTypeConverterFactoryImpl extends TypeConverterFactoryImpl{
public TypeConverter getTypeConverter(Class pClass) {
if (pClass.isAssignableFrom(String[].class)) {
return stringArrayTypeConverter;
}
return super.getTypeConverter(pClass);
}
private static final TypeConverter stringArrayTypeConverter = new MyIdentityTypeConverter(Object[].class);
private static class MyIdentityTypeConverter implements TypeConverter {
private final Class clazz;
MyIdentityTypeConverter(Class pClass) {
clazz = pClass;
}
public boolean isConvertable(Object pObject) {
return pObject == null || clazz.isAssignableFrom(pObject.getClass());
}
public Object convert(Object pObject) {
if (pObject instanceof Object[]) {
Object[] objects = (Object[]) pObject;
String[] result = new String[objects.length];
for (int i = 0; i < objects.length; i++) {
result[i] = (String)objects[i];
}
return result;
}
return pObject;
}
}
}
- OSGi环境中部署XML-RPC Server
- OSGi环境中部署XML-RPC Server(2)
- 在Tomcat-OSGi中部署OSGi Application
- 在Tomcat-OSGi中部署OSGi Application
- OSGI环境中集成struts2
- ServiceMix中部署:OSGi Bundle和Feature
- Zope中使用XML-RPC
- SimpleXMLRPCServer – Implements an XML-RPC server
- OSGi Maven开发/部署环境的搭建历程
- activiti 通过blueprint在OSGI环境中的部署
- tomcat环境中修改了server.xml配置文件后不起作用
- [OSGI]OSGi开发环境搭建
- OSGI中自定义command(2)
- php5中XML-RPC函数的使用
- php5中XML-RPC函数的使用
- PHP中XML-RPC使用笔记
- Python中关于XML-RPC原理
- osgi环境下 quartz集群方案2
- 【oracle应用技巧】重新打开存储过程的目录列表
- c++实现数据结构的二叉树及其遍历二叉树
- Iphone开发基础篇(十二)-ObjectC之文件加载与保存
- CS50x:课程大纲
- 带薪休假推行4年效果不佳 专家建议强制落实-带薪休假-专家-黄金周
- OSGi环境中部署XML-RPC Server(2)
- c++软件开发第三方库大全
- 赚钱步骤
- 收藏一些比较牛逼的博客地址,仅供自己参考。
- 3D效果Android相册 倒影效果
- HDU 3450 Counting Sequences 树状数组
- oracle小记之一张表中实现多个字段的统计(多个count)
- IOS流媒体播放
- 夫妇辞职卖房卖车携休学女儿旅游(图)