Java多线程下载的例子。
直接看源代码:package test;import java.io.BufferedInputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.URL;import java.net.URLConnection;import java.util.concu...
同步辅助类CountDownLatch的例子
就是使用一个计数器作为锁。在项目中遇到这样一种情形,要处理一批订单,处理完成之后需要报告成功多少,失败多少。为了采用多线程机制,即每个订单启动一个线程(用线程池管理),当所有订单完成之后,还要通知...
[原创]深入掌握JMS(十二):MDB
在EJB3中,一个MDB(消息驱动Bean)就是一个实现了MessageListener接口的POJO。下面就是一个简单的MDB。@MessageDriven(activationConfig={ @ActivationConfigProperty(proper...
SSL双向认证的例子
首先创建服务器端私有密钥和公共密钥1, keytool -genkey -alias clientkey -keystore kserver.ks 密码: serverpass2, keytool -export -alias serverkey -keystore kserver.ks -file serv...
使用JOTM实现分布式事务的例子
import java.sql.Connection;import javax.transaction.TransactionManager;import javax.transaction.UserTransaction;import org.enhydra.jdbc.standard.StandardXADataSource;import org.hsqldb.Server;i...
[原创]深入掌握JMS(十一):TemporaryQueue和TemporaryTopic
TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是“临时”的目的地。可以通过Session来创建,例如: TemporaryQueue replyQueue = session.createTemporaryQ...
[原创]深入掌握JMS(十):JMSCorrelationID与Selector
前面讲过JMSCorrelationID主要是用来关联多个Message,例如需要回复一个消息的时候,通常把回复的消息的JMSCorrelationID设置为原来消息的ID。在下面这个例子中...
[原创]深入掌握JMS(九):Selector
前面的例子中创建一个消息消费者使用的是: sesssion.createConsumer(destination) 另外,还提供了另一种方式:  ...
[原创]深入掌握JMS(八):JMSReplyTo
在下面的例子中,首先创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,然后再创建一个消费者来接受所回复的消息。import javax.jms.Connection;import jav...
[原创]深入掌握JMS(七):DeliveryMode例子
在下面的例子中,分别发送一个Persistent和nonpersistent的消息,然后关闭退出JMS。 import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.MessageProducer;import javax...
[原创]深入掌握JMS(六):消息头
一个消息对象分为三部分:消息头(Headers),属性(Properties)和消息体(Payload)。对于StreamMessage和MapMessage,消息本身就有特定的结构,而对于TextMessage,ObjectMessage和BytesMessage...
[原创]深入掌握JMS(五):实战Topic
与Queue不同的是,Topic实现的是发布/订阅模型,在下面的例子中,启动2个消费者共同监听一个Topic,然后循环给这个Topic中发送多个消息。import javax.jms.Connection;import javax.jms.JMSExcep...
[原创]深入掌握JMS(四):实战Queue
Queue实现的是点到点模型,在下面的例子中,启动2个消费者共同监听一个Queue,然后循环给这个Queue中发送多个消息,我们依然采用ActiveMQ。import javax.jms.Connection;import javax.jm...
[原创]深入掌握JMS(三):MessageListener
消息的消费者接收消息可以采用两种方式: 1、consumer.receive() 或 consumer.receive(int timeout); 2、注册一个MessageListener。 采用第一种方式,消息的接收者会一直等待下去...
[原创]深入掌握JMS(二):一个JMS例子
前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不...
[原创] 深入掌握JMS(一):JSM基础
1. JMS基本概念 JMS(Java Message Service) 即Java消息服务。它提供标准的产生、发送、接收消息的接口简化企业应用的开发。它支持两种消息通信模型:点到点(poin...
面向对象设计原则,以及包的设计原则
首先来回忆一下OO的设计原则:1. 单一责任原则(SRP) 一个类只有一个责任, 如果它需要被修改, 应该仅有一个原因. 反模式: 一个类处理的事情太多了, 应当进行分解.2. 开放-闭合原则(O...
一个死锁的例子.
public class DeadLockTest { public DeadLockTest(){ new ThreadA().start(); new ThreadB().start(); ...
JPA标注
TableTable用来定义entity主表的name,catalog,schema等属性。• name: 表名• catalog: 对应关系数据库中的catalog• schema:对应关系数...