`
qtlkw
  • 浏览: 307053 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
DLQ-死信队列(Dead Letter Queue)用来保存处理失败或者过期的消息。 出现以下情况时,消息会被redelivered     A transacted session is used and rollback() is called.     A transacted session is closed before commit is called.     A session is using CLIENT_ACKNOWLEDGE and Session.recover() is called. 当一个消息被redelivered超过maximumRedeliveri ...
我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败。如何让命令提交后不受本地关闭终端窗口/网络断开连接的干扰呢?下面举了一些例子, 您可以针对不同的场景选择不同的方式来处理这个问题。 nohup/setsid/& 场景: 如果只是临时有一个命令需要长时间运行,什么方法能最简便的保证它在后台稳定运行呢? hangup 名称的来由 在 Unix 的早期版本中,每个终端都会通过 modem 和系统通讯。当用户 logout 时,modem 就会挂断(hang up)电话。 同理,当 mod ...
#!/bin/sh export APP_CODE=apm export APP_HOME=/usr/local/clo/app/ffo/rtns_adapter export APP_JCLASS_HOME=${APP_HOME}/jclass export SHUTDOWN_TIME=10 export JAVA_HOME=/usr/local/clo/ven/jdk1.6.0_45-64 export PW_MATRIX=/usr/local/ccms/security/.PASSWORD_MATRIX export PW_MATRIX_LIB=/usr/local/ccms/se ...
转: /** *@author: chenyoulong *@Title:PersonTest.java *@date 2012-9-28 下午3:25:09 *@Description:TODO */ package com.test; import java.util.ArrayList; import java.util.List; import com.entity.PersonBean; import com.entity.PersonBean.Animal; import com.entity.PersonBean.Friends; im ...
转: /** *@author: chenyoulong *@Title:PersonTest.java *@date 2012-9-28 下午3:25:09 *@Description:TODO */ package com.test; import java.util.ArrayList; import java.util.List; import com.entity.PersonBean; import com.entity.PersonBean.Animal; import com.entity.PersonBean.Friends; import com.entit ...
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd&qu ...
IT项目的需求通常会发生变化,这其中就包括与其他系统集成的需求。对于项目的成功来讲,能够快速地响应这样的变化是至关重要的,所以软件和开发过程必须要做到这一点。幸运的是,企业应用集成( Enterprise Application Integration,EAI)在构建可扩展性的、可维护性的以及可胜任的集成解决方案方面,以一种创造性的方式为我们提供了所有的知识、技术以及最佳实践。 但是,大多数的集成方案会给我们带来一种困境:尽管它们功能完备并且对于苛刻的环境来说富有成效,但是在开始学习、部署和维护系统的时候,需要巨大的预先投资。 基于这个原因,当面对简单集成需求时,临时的解决方案看起来很有吸引 ...
refer to: http://exceptioneye.iteye.com/blog/1702592 package FileMonitor; import java.io.File; import org.apache.commons.io.monitor.FileAlterationListenerAdaptor; import org.apache.commons.io.monitor.FileAlterationObserver; /** * 文件变化监听器 * * 在Apache的Commons-IO中有关于文件的监控功能的代码. 文件监控的原理如下 ...
如果一个线程要访问一个共享资源,它必须先获得信号量。如果信号量的内部计数器大于0,信号量减1,然后允许访问这个共享资源。计数器大于0意味着有可以使用的资源,线程允许使用其中一个资源。 否则,如果信号量的计数器等于0,信号量将会把线程置入休眠直至计数器大于0,计数器等于0的时候意味着所有的共享资源已经被其他线程使用了,所以需要访问这个共享资源的线程必须等待。 当线程使用完某个共享资源时,信号量必须被释放,以便其他线程能够访问共享资源。释放操作将使信号量的内部计数器增加1。 资源: 打印队列 import java.util.concurrent.Semaphore; /** * ...
public class FileMock { private String content[]; private int index; public FileMock(int size, int length){ content = new String[size]; for(int i=0; i<size; i++){ StringBuilder buffer = new StringBuilder(length); for(int j=0; j<leng ...
  Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。   读写锁:分为读锁和写锁,多个读锁不 ...
public class PrintQueue { private final Lock queueLock = new ReentrantLock(); public void printJob(Object document){ queueLock.lock(); try{ Long duration = (long)(Math.random() * 10000); System.out.println(Thread.currentThread().getName() + &q ...
存储结构,生产者到达最大长度等待消费者消费,没有存储数据,消费者等待生产者生产: package ProductConsumer; import java.util.LinkedList; import java.util.List; import java.util.Date; /** * Created by Administrator */ public class EventStorage { private int maxSize; private List<Date> storage; public EventSt ...

ExecutorService example

    博客分类:
  • JAVA
ExecutorService executor = Executors.newFixedThreadPool(pool_size); for(...){ OSA_Worker worker = new OSA_Worker();//OSA_Worker implements Runnable interface executor.execute(worker); } executor.shutdown();//不再加入新的线程 //等待执行完成 while (!executor.isTerminated()) { Thread.sleep(1000); }

ThreadLocal 用法

    博客分类:
  • JAVA
ThreadLocal用来存放变量到当前线程中,如果存放的是成员变量或临时变量,各线程值互不干扰。如果存放的是静态成员变量,还是相互干扰的,因为存的是引用。 不干扰例子: private static final ThreadLocal<Variables> threadVariables = new ThreadLocal<Variables>(); public static Variables getVariables(){ Variables variables = threadVariables.get(); if(variables == nu ...
Global site tag (gtag.js) - Google Analytics