`
xiongzhenhui
  • 浏览: 206055 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring JMS的开发应用--自定义消息转换器的使用(四)

    博客分类:
  • jms
 
阅读更多

在Spring JMS、中可以通过实现MessageConverter自定义自己的消息转换器实现消息的转换。在Spring 的JMS1.1有SimpleMessageConverter实现基本的消息转换,在JMS1.02中SimpleMessageConverter102实现消息的转换的工作。

 

Java代码 复制代码 收藏代码
  1. package com.easyway.jboss.jms.ptp.service;   
  2.   
  3. public class SMS  implements java.io.Serializable{   
  4.     /**  
  5.      *   
  6.      */  
  7.     private static final long serialVersionUID = 1L;   
  8.     private String username;   
  9.     private String message;   
  10.        
  11.     public SMS(){   
  12.            
  13.     }   
  14.     public SMS(String username,String message){   
  15.         this.username=username;   
  16.         this.message=message;   
  17.     }   
  18.     public String getUsername() {   
  19.         return username;   
  20.     }   
  21.     public void setUsername(String username) {   
  22.         this.username = username;   
  23.     }   
  24.     public String getMessage() {   
  25.         return message;   
  26.     }   
  27.     public void setMessage(String message) {   
  28.         this.message = message;   
  29.     }   
  30.        
  31.        
  32.        
  33.   
  34. }  
package com.easyway.jboss.jms.ptp.service;

public class SMS  implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String username;
	private String message;
	
	public SMS(){
		
	}
	public SMS(String username,String message){
		this.username=username;
		this.message=message;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}
	
	
	

}

 

 

消息转换器:

Java代码 复制代码 收藏代码
  1. package com.easyway.jboss.jms.ptp.spring.service;   
  2.   
  3. import javax.jms.JMSException;   
  4. import javax.jms.MapMessage;   
  5. import javax.jms.Message;   
  6. import javax.jms.Session;   
  7.   
  8. import org.springframework.jms.support.converter.MessageConversionException;   
  9. import org.springframework.jms.support.converter.MessageConverter;   
  10.   
  11. import com.easyway.jboss.jms.ptp.service.SMS;   
  12. /**  
  13.  * 自定义消息转换器MessageConverter实现  
  14.  * 在JmsTemplate提供了各种send方法,供发送消息使用,其中JmsTemplate中的  
  15.  * convertAndSend和receiveAndConvert方法能够借助于MessageConverter接口  
  16.  * 实现消息做相应的转换。  
  17.  * JMS1.1中SimpleMessageConverter实现String与TextMessage,等之间的转换  
  18.  * @author longgangbai  
  19.  *  
  20.  */  
  21. public class SMSConverter implements MessageConverter {   
  22.   
  23.     @Override  
  24.     public Object fromMessage(Message message) throws JMSException,   
  25.             MessageConversionException {   
  26.          SMS sms=new SMS();   
  27.          MapMessage  mapmessage= (MapMessage  )message;   
  28.          sms.setMessage(mapmessage.getString("message"));   
  29.          sms.setUsername(mapmessage.getString("username"));   
  30.         return sms;   
  31.     }   
  32.   
  33.     @Override  
  34.     public Message toMessage(Object object, Session session)   
  35.             throws JMSException, MessageConversionException {   
  36.          SMS sms=(SMS)object;   
  37.          MapMessage  mapmessage=session.createMapMessage();   
  38.          mapmessage.setString("username", sms.getUsername());   
  39.          mapmessage.setString("message", sms.getMessage());   
  40.          return mapmessage;   
  41.     }   
  42.   
  43. }  
package com.easyway.jboss.jms.ptp.spring.service;

import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.Session;

import org.springframework.jms.support.converter.MessageConversionException;
import org.springframework.jms.support.converter.MessageConverter;

import com.easyway.jboss.jms.ptp.service.SMS;
/**
 * 自定义消息转换器MessageConverter实现
 * 在JmsTemplate提供了各种send方法,供发送消息使用,其中JmsTemplate中的
 * convertAndSend和receiveAndConvert方法能够借助于MessageConverter接口
 * 实现消息做相应的转换。
 * JMS1.1中SimpleMessageConverter实现String与TextMessage,等之间的转换
 * @author longgangbai
 *
 */
public class SMSConverter implements MessageConverter {

	@Override
	public Object fromMessage(Message message) throws JMSException,
			MessageConversionException {
		 SMS sms=new SMS();
		 MapMessage  mapmessage= (MapMessage  )message;
		 sms.setMessage(mapmessage.getString("message"));
		 sms.setUsername(mapmessage.getString("username"));
		return sms;
	}

	@Override
	public Message toMessage(Object object, Session session)
			throws JMSException, MessageConversionException {
		 SMS sms=(SMS)object;
		 MapMessage  mapmessage=session.createMapMessage();
		 mapmessage.setString("username", sms.getUsername());
		 mapmessage.setString("message", sms.getMessage());
		 return mapmessage;
	}

}

 

applicationContext-cjms-sender.xml:

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <beans   
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:p="http://www.springframework.org/schema/p"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">   
  7.     
  8.  <!-- 设置消息服务的初始化参数信息 -->   
  9.  <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">   
  10.       <property name="environment">   
  11.            <props>   
  12.                <prop key="java.naming.factory.initial">   
  13.                    org.jnp.interfaces.NamingContextFactory   
  14.                </prop>   
  15.                <prop key="java.naming.provider.url">   
  16.                   jnp://localhost:1099   
  17.                </prop>   
  18.                <prop key="java.naming.factory.url.pkgs">   
  19.                    org.jboss.naming:org.jnp.interfaces   
  20.                </prop>   
  21.            </props>   
  22.       </property>   
  23.  </bean>   
  24. <!--    
  25.    创建消息服务的连接工厂的信息   
  26.        
  27.                  JMS1.02 TopicConnectionFactory 和QueueConnectionFactory   
  28.                 JMS1.1 TopicConnectionFactory 和QueueConnectionFactory合并为ConnectionFactory   
  29.                    
  30.  -->   
  31. <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">   
  32.    <property name="jndiName">   
  33.        <value>ConnectionFactory</value>   
  34.    </property>   
  35.    <property name="jndiTemplate">   
  36.         <ref local="jndiTemplate"/>   
  37.    </property>   
  38. </bean>   
  39. <!-- 创建JMS的目的地信息 -->   
  40. <bean  id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">   
  41.     <property name="jndiName">   
  42.         <value>queue/longgangbai</value>   
  43.      </property>   
  44.      <property name="jndiTemplate">   
  45.          <ref  local="jndiTemplate"/>   
  46.      </property>   
  47. </bean>   
  48.   
  49. <!--    
  50.    创建自定义转换器   
  51.  -->   
  52. <bean id="smsconverter" class="com.easyway.jboss.jms.ptp.spring.service.SMSConverter"></bean>   
  53.   
  54. <!-- 创建JMS发送信息的模板的对象 -->   
  55. <bean  id="jmsTemplate"  class="org.springframework.jms.core.JmsTemplate">   
  56.     <property name="connectionFactory">   
  57.        <ref  local="connectionFactory"/>   
  58.      </property>   
  59.         
  60.      <property name="defaultDestination">   
  61.         <ref local="destination"/>   
  62.      </property>   
  63.        <!-- 设置自定义转换器 -->   
  64.      <property name="messageConverter">   
  65.         <ref local="smsconverter"/>   
  66.      </property>   
  67. </bean>   
  68.   
  69. </beans>  
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
 <!-- 设置消息服务的初始化参数信息 -->
 <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
      <property name="environment">
           <props>
               <prop key="java.naming.factory.initial">
                   org.jnp.interfaces.NamingContextFactory
               </prop>
               <prop key="java.naming.provider.url">
                  jnp://localhost:1099
               </prop>
               <prop key="java.naming.factory.url.pkgs">
                   org.jboss.naming:org.jnp.interfaces
               </prop>
           </props>
      </property>
 </bean>
<!-- 
   创建消息服务的连接工厂的信息
    
                 JMS1.02 TopicConnectionFactory 和QueueConnectionFactory
				JMS1.1 TopicConnectionFactory 和QueueConnectionFactory合并为ConnectionFactory
				
 -->
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName">
       <value>ConnectionFactory</value>
   </property>
   <property name="jndiTemplate">
        <ref local="jndiTemplate"/>
   </property>
</bean>
<!-- 创建JMS的目的地信息 -->
<bean  id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>queue/longgangbai</value>
     </property>
     <property name="jndiTemplate">
         <ref  local="jndiTemplate"/>
     </property>
</bean>

<!-- 
   创建自定义转换器
 -->
<bean id="smsconverter" class="com.easyway.jboss.jms.ptp.spring.service.SMSConverter"></bean>

<!-- 创建JMS发送信息的模板的对象 -->
<bean  id="jmsTemplate"  class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory">
       <ref  local="connectionFactory"/>
     </property>
     
     <property name="defaultDestination">
        <ref local="destination"/>
     </property>
       <!-- 设置自定义转换器 -->
     <property name="messageConverter">
        <ref local="smsconverter"/>
     </property>
</bean>

</beans>

 发送消息的代码那:

Java代码 复制代码 收藏代码
  1. package com.easyway.jboss.jms.ptp.spring.service;   
  2.   
  3. import org.apache.commons.logging.Log;   
  4. import org.apache.commons.logging.LogFactory;   
  5. import org.springframework.context.ApplicationContext;   
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;   
  7. import org.springframework.jms.core.JmsTemplate;   
  8.   
  9. import com.easyway.jboss.jms.ptp.service.SMS;   
  10.   
  11. /**  
  12.  * Spring中JMS的简单应用  
  13.  * Spring JMS的创建并发送  
  14.  * @author longgangbai  
  15.  *  
  16.  */  
  17. public class SpringCJMSQueueSender {   
  18.        
  19.     private static final Log log=LogFactory.getLog(SpringCJMSQueueSender.class);   
  20.        
  21.     public static void main(String[] args) {   
  22.         ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext-cjms-sender.xml");   
  23.         JmsTemplate jt=(JmsTemplate)ctx.getBean("jmsTemplate");   
  24.         SMS sms=new SMS();   
  25.         sms.setMessage("message");   
  26.         sms.setUsername("wangna");   
  27.         jt.convertAndSend(sms);   
  28.         log.info("发送信息成功!");   
  29.            
  30.     }   
  31. }  
package com.easyway.jboss.jms.ptp.spring.service;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.jms.core.JmsTemplate;

import com.easyway.jboss.jms.ptp.service.SMS;

/**
 * Spring中JMS的简单应用
 * Spring JMS的创建并发送
 * @author longgangbai
 *
 */
public class SpringCJMSQueueSender {
	
	private static final Log log=LogFactory.getLog(SpringCJMSQueueSender.class);
	
	public static void main(String[] args) {
		ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext-cjms-sender.xml");
		JmsTemplate jt=(JmsTemplate)ctx.getBean("jmsTemplate");
		SMS sms=new SMS();
		sms.setMessage("message");
		sms.setUsername("wangna");
		jt.convertAndSend(sms);
		log.info("发送信息成功!");
		
	}
}

 

applicationContext-cjms-receive.xml:

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <beans   
  3.     xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  5.     xmlns:p="http://www.springframework.org/schema/p"  
  6.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">   
  7.     
  8.  <!-- 设置消息服务的初始化参数信息 -->   
  9.  <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">   
  10.       <property name="environment">   
  11.            <props>   
  12.                <prop key="java.naming.factory.initial">   
  13.                    org.jnp.interfaces.NamingContextFactory   
  14.                </prop>   
  15.                <prop key="java.naming.provider.url">   
  16.                   jnp://localhost:1099   
  17.                </prop>   
  18.                <prop key="java.naming.factory.url.pkgs">   
  19.                    org.jboss.naming:org.jnp.interfaces   
  20.                </prop>   
  21.            </props>   
  22.       </property>   
  23.      
  24.  </bean>   
  25. <!--    
  26.                                   创建消息服务的连接工厂的信息   
  27.                  JMS1.02 TopicConnectionFactory 和QueueConnectionFactory   
  28.                 JMS1.1 TopicConnectionFactory 和QueueConnectionFactory合并为ConnectionFactory   
  29.  -->   
  30. <bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">   
  31.    <property name="jndiName">   
  32.        <value>ConnectionFactory</value>   
  33.    </property>   
  34.    <property name="jndiTemplate">   
  35.         <ref local="jndiTemplate"/>   
  36.    </property>   
  37. </bean>   
  38. <!-- 创建JMS的目的地信息 -->   
  39. <bean  id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">   
  40.     <property name="jndiName">   
  41.         <value>queue/longgangbai</value>   
  42.      </property>   
  43.      <property name="jndiTemplate">   
  44.          <ref  local="jndiTemplate"/>   
  45.      </property>   
  46. </bean>   
  47. <!--    
  48.    创建自定义转换器   
  49.  -->   
  50. <bean id="smsconverter" class="com.easyway.jboss.jms.ptp.spring.service.SMSConverter"></bean>   
  51.   
  52. <!-- 创建JMS发送信息的模板的对象 -->   
  53. <bean  id="jmsTemplate"  class="org.springframework.jms.core.JmsTemplate">   
  54.     <property name="connectionFactory">   
  55.        <ref  local="connectionFactory"/>   
  56.      </property>   
  57.      <property name="defaultDestination">   
  58.         <ref local="destination"/>   
  59.      </property>   
  60.      <!-- 设置自定义转换器 -->   
  61.        <property name="messageConverter">   
  62.         <ref local="smsconverter"/>   
  63.      </property>   
  64. </bean>   
  65.   
  66. </beans>  
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:p="http://www.springframework.org/schema/p"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 
 <!-- 设置消息服务的初始化参数信息 -->
 <bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
      <property name="environment">
           <props>
               <prop key="java.naming.factory.initial">
                   org.jnp.interfaces.NamingContextFactory
               </prop>
               <prop key="java.naming.provider.url">
                  jnp://localhost:1099
               </prop>
               <prop key="java.naming.factory.url.pkgs">
                   org.jboss.naming:org.jnp.interfaces
               </prop>
           </props>
      </property>
  
 </bean>
<!-- 
                                  创建消息服务的连接工厂的信息
                 JMS1.02 TopicConnectionFactory 和QueueConnectionFactory
				JMS1.1 TopicConnectionFactory 和QueueConnectionFactory合并为ConnectionFactory
 -->
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
   <property name="jndiName">
       <value>ConnectionFactory</value>
   </property>
   <property name="jndiTemplate">
        <ref local="jndiTemplate"/>
   </property>
</bean>
<!-- 创建JMS的目的地信息 -->
<bean  id="destination" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName">
        <value>queue/longgangbai</value>
     </property>
     <property name="jndiTemplate">
         <ref  local="jndiTemplate"/>
     </property>
</bean>
<!-- 
   创建自定义转换器
 -->
<bean id="smsconverter" class="com.easyway.jboss.jms.ptp.spring.service.SMSConverter"></bean>

<!-- 创建JMS发送信息的模板的对象 -->
<bean  id="jmsTemplate"  class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory">
       <ref  local="connectionFactory"/>
     </property>
     <property name="defaultDestination">
        <ref local="destination"/>
     </property>
     <!-- 设置自定义转换器 -->
       <property name="messageConverter">
        <ref local="smsconverter"/>
     </property>
</bean>

</beans>

 接收消息的代码如下:

Java代码 复制代码 收藏代码
  1. package com.easyway.jboss.jms.ptp.spring.service;   
  2.   
  3. import org.apache.commons.logging.Log;   
  4. import org.apache.commons.logging.LogFactory;   
  5. import org.springframework.context.ApplicationContext;   
  6. import org.springframework.context.support.ClassPathXmlApplicationContext;   
  7. import org.springframework.jms.core.JmsTemplate;   
  8.   
  9. import com.easyway.jboss.jms.ptp.service.SMS;   
  10. /**  
  11.  * Spring JMS 消息的接受  
  12.  * @author longgangbai  
  13.  *  
  14.  */  
  15. public class SpringCJMSQueueReceive {   
  16. private static final Log log=LogFactory.getLog(SpringCJMSQueueReceive.class);   
  17.        
  18.     public static void main(String[] args) {   
  19.         ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext-cjms-receive.xml");   
  20.         JmsTemplate jt=(JmsTemplate)ctx.getBean("jmsTemplate");   
  21.         SMS sms=(SMS)jt.receiveAndConvert();   
  22.         System.out.println("username:"+sms.getUsername());   
  23.         System.out.println("message:"+sms.getMessage());   
  24.         System.out.println(".......");   
  25.            
  26.     }   
  27. }  
分享到:
评论

相关推荐

    Spring 2.0 开发参考手册

    19.3.1. 使用消息转换器 19.3.2. SessionCallback 和ProducerCallback 19.4. 接收消息 19.4.1. 同步接收 19.4.2. 异步接收 - 消息驱动的POJOs 19.4.3. SessionAwareMessageListener 接口 19.4.4. ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. 其它资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点实施 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    3.4.3 使用自定义转换器 159 3.4.4 绑定到Bean属性的转换器 159 3.5 使用验证器进行输入校验 161 3.5.1 输入校验概述 161 3.5.2 JSF内置校验器 162 3.5.3 校验失败后的错误消息 163 3.5.4 必填校验器 165 3.6 自定义...

    Spring API

    6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    Spring中文帮助文档

    6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack ...19.2. 使用Spring JMS ...

    Spring in Action(第2版)中文版

    10.2.4将spring的网关支持类应用于jms 10.3创建消息驱动pojo 10.3.1创建消息监听器 10.3.2编写纯pojomdp 10.4使用基于消息的rpc 10.4.1引入lingo 10.4.2输出服务 10.4.3代理jms 10.5小结 第11章spring和ejb...

    Spring in Action(第二版 中文高清版).part2

    10.2.4 将Spring的网关支持类应用于JMS 10.3 创建消息驱动POJO 10.3.1 创建消息监听器 10.3.2 编写纯POJO MDP 10.4 使用基于消息的RPC 10.4.1 引入Lingo 10.4.2 输出服务 10.4.3 代理JMS 10.5 小结 第11...

    Spring in Action(第二版 中文高清版).part1

    10.2.4 将Spring的网关支持类应用于JMS 10.3 创建消息驱动POJO 10.3.1 创建消息监听器 10.3.2 编写纯POJO MDP 10.4 使用基于消息的RPC 10.4.1 引入Lingo 10.4.2 输出服务 10.4.3 代理JMS 10.5 小结 第11...

    springboot参考指南

    开发你的第一个Spring Boot应用 v. 11.1. 创建POM vi. 11.2. 添加classpath依赖 vii. 11.3. 编写代码 i. 11.3.1. @RestController和@RequestMapping注解 ii. 11.3.2. @EnableAutoConfiguration注解 iii. 11.3.3. ...

    Spring攻略(第二版 中文高清版).part1

    10.6 使用BlazeDS和Spring消费面向消息的服务 421 10.6.1 问题 421 10.6.2 解决方案 422 10.6.3 工作原理 422 10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 ...

    Spring攻略(第二版 中文高清版).part2

    10.6 使用BlazeDS和Spring消费面向消息的服务 421 10.6.1 问题 421 10.6.2 解决方案 422 10.6.3 工作原理 422 10.7 将依赖注入带给你的ActionScript客户 434 10.7.1 问题 434 10.7.2 解决方案 434 ...

    JBPM4工作流应用开始指南.rar

    209 10.3 如何在活动中调用EJB方法 214 10.4 使用jms活动 215 10.4.1 模拟JMS服务 217 10.4.2 JMS文本消息 219 10.4.3 JMS Object消息 220 10.4.4 JMS Map消息 222 10.5 历史会话监听链 223 10.6 自定义Web任务表单 ...

    java开源包1

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包10

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包8

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包11

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包2

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包3

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

    java开源包6

    LemonSMS 这个Java库可以让开发者在应用程序中集成使用GSM调制解调器或兼容电话来发送SMS消息。 远程桌面 Java Remote Desktop.tar Java Remote Desktop 是一个Java 的远程桌面软件,支持很多特性例如文件传输、...

Global site tag (gtag.js) - Google Analytics