05 2012 档案
自动更新Assembly version
摘要:http://www.codeproject.com/Articles/31236/How-To-Update-Assembly-Version-Number-Automaticall适合自己写automation build .net程序使用。
阅读全文
7-zip 的命令行用法 (转载)
摘要:7-Zip一般默认安装路径为 “C:\Program Files\7-Zip”现在大家都用WinRAR,不知道听说过7zip的朋友多不多。7zip是一个开源的压缩软件,非常小巧,提供的功能和WinRAR差不多,但支持的格式几乎比后者多一倍。根据我的使用经验,其7z压缩格式的压缩速度及压缩比也领先于WinRAR(WinRAR亦可识别7z格式,故不必担心兼容性问题)。另一点重要的是,7z完全开源,包括压缩算法,而且还可以方便地使用它提供的库,在自己的程序中集成压缩功能。这次继续研究常用工具的命令行用法。7zip的核心程序是7z.exe,命令行格式为:7z <command> [<
阅读全文
大型系统中使用JMS优化技巧–Sun OpenMQ[转]
摘要:我们先来看看在Sun OpenMQ系统中 一个持久、可靠的方式传送消息的步骤是怎么样的,如图所示:查看大图请点击这里在传送过程中,系统处理JMS消息分为以下两类: ■ 有效负荷消息,由生成方发送给使用方的消息。 ■ 控制消息,代理与客户端运行时环境之间传送的私有消息,用于确保有效负荷消息成功传送和控制跨连接的消息流。详细流程如下:消息生成 1. 客户端运行时环境通过连接将消息从消息生成方传送到代理。消息处理和路由 2. 代理从连接中读取消息并将此消息放入相应的目的地中。 3. 代理将(持久性)消息放入数据存储库中。 4. 代理向消息生成方的客户端运行时环境确认已收到消息。 5. 代理确定消息的
阅读全文
深入掌握JMS(十一):TemporaryQueue和TemporaryTopic[转]
摘要:TemporaryQueue和TemporaryTopic,从字面上就可以看出它们是“临时”的目的地。可以通过Session来创建,例如:TemporaryQueue replyQueue = session.createTemporaryQueue();虽然它们是由Session来创建的,但是它们的生命周期确实整个Connection。如果在一个Connection上创建了两个Session,则 一个Session创建的TemporaryQueue或TemporaryTopic也可以被另一个Session访问。那如果这两个Session是 由不同的Connection创建,则一个Sessio
阅读全文
深入掌握JMS(十二):MDB[转]
摘要:在EJB3中,一个MDB(消息驱动Bean)就是一个实现了MessageListener接口的POJO。下面就是一个简单的MDB。@MessageDriven(activationConfig={@ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"),@ActivationConfigProperty(propertyName="destination",propertyValue="queue/tes
阅读全文
深入掌握 JMS(十):JMSCorrelationID与Selector[转]
摘要:前面讲过JMSCorrelationID主要是用来关联多个Message,例如需要回复一个消息的时候,通常把回复的消息的 JMSCorrelationID设置为原来消息的ID。在下面这个例子中,创建了三个消息生产者A,B,C和三个消息消费者A,B,C。生产者A给消费 者A发送一个消息,同时需要消费者A给它回复一个消息。B、C与A类似。简图如下:生产者A-----发送----〉消费者A-----回复------〉生产者A 生产者B-----发送----〉消费者B-----回复------〉生产者B 生产者C-----发送----〉消费者C-----回复------〉生产者C需要注意的是,所有的发
阅读全文
深入掌握 JMS(九):Selector[转]
摘要:前面的例子中创建一个消息消费者使用的是:sesssion.createConsumer(destination)另外,还提供了另一种方式:sesssion.createConsumer(destination, selector)这里selector是一个字符串,用来过滤消息。也就是说,这种方式可以创建一个可以只接收特定消息的一个消费者。Selector的格式是类似于 SQL-92的一种语法。可以用来比较消息头信息和属性。 下面的例子中,创建两个消费者,共同监听同一个Queue,但是它们的Selector不同,然后创建一个消息生产者,来发送多个消息。import javax.jms.Conne
阅读全文
深入掌握JMS(七):DeliveryMode例子[转]
摘要:在下面的例子中,分别发送一个Persistent和nonpersistent的消息,然后关闭退出JMS。import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.MessageProducer;import javax.jms.Queue;import javax.jms.Session;import org.apache.activemq.ActiveMQConnectionFactory;import org.apache.activemq.command.ActiveMQQueue;public
阅读全文
深入掌握JMS(八):JMSReplyTo[转]
摘要:在下面的例子中,首先创建两个Queue,发送者给一个Queue发送,接收者接收到消息之后给另一个Queue回复一个Message,然后再创建一个 消费者来接受所回复的消息。import javax.jms.Connection;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;import javax.jms.MessageListener;import javax.jms.MessageProducer;import javax.jms.Queue;import ja
阅读全文
深入掌握JMS(六):消息头[转]
摘要:一个消息对象分为三部分:消息头(Headers),属性(Properties)和消息体(Payload)。对于StreamMessage和 MapMessage,消息本身就有特定的结构,而对于TextMessage,ObjectMessage和BytesMessage是无结构的。一个 消息可以包含一些重要的数据或者仅仅是一个事件的通知。 消息的Headers部分通常包含一些消息的描述信息,它们都是标准的描述信息。包含下面一些值: JMSDestination消息的目的地,Topic或者是Queue。 JMSDeliveryMode消息的发送模式:persistent或nonpersiste..
阅读全文
深入掌握JMS(五):实战Topic[转]
摘要:与Queue不同的是,Topic实现的是发布/订阅模型,在下面的例子中,启动2个消费者共同监听一个Topic,然后循环给这个Topic中发送多个 消息。import javax.jms.Connection;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;import javax.jms.MessageListener;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.
阅读全文
深入掌握JMS(三):MessageListener
摘要:消息的消费者接收消息可以采用两种方式:1、consumer.receive() 或 consumer.receive(int timeout);2、注册一个MessageListener。采用第一种方式,消息的接收者会一直等待下去,直到有消息到达,或者超时。后一种方式会注册一个监听器,当有消息到达的时候,会回调它的 onMessage()方法。下面举例说明:MessageConsumer comsumer = session.createConsumer(queue);comsumer.setMessageListener(new MessageListener(){@Overridepubl
阅读全文
深入掌握JMS(四):实战Queue[转]
摘要:Queue实现的是点到点模型,在下面的例子中,启动2个消费者共同监听一个Queue,然后循环给这个Queue中发送多个消息,我们依然采用 ActiveMQ。import javax.jms.Connection;import javax.jms.DeliveryMode;import javax.jms.JMSException;import javax.jms.Message;import javax.jms.MessageConsumer;import javax.jms.MessageListener;import javax.jms.MessageProducer;import jav
阅读全文
深入掌握JMS(二):一个JMS例子[转]
摘要:前一讲简单的介绍了一下JMS的基本概念, 这一讲结合一个例子让大家深入理解前一讲的基本概念. 首先需要做的是选择一个JMS提供者, 如果在JavaEE环境中可以不用考虑这些. 我们选择ActiveMQ, 官方地址: http://activemq.apache.org/. 网上有很多介绍ActiveMQ的文档, 所以在这里就不介绍了.按照上一讲的这个简图,ConnectionFactory---->Connection--->Session--->MessageDestination + Session------------------------------------&
阅读全文
深入掌握JMS(一):JMS基础[转]
摘要:1. JMS基本概念 JMS(Java Message Service) 即Java消息服务。它提供标准的产生、发送、接收消息的接口简化企 业应用的开发。它支持两种消息通信模型:点到点(point-to-point)(P2P)模型和发布/订阅(Pub /Sub)模型。P2P 模型规定了一个消息只能有一个接收者;Pub/Sub 模型允许一个消息可以有多个接收者。对于点到点模型,消息生产者产生一个消息后,把这个消息发送到一个Queue(队列)中,然后消息接收者再从这个Queue中读取,一旦这个消息被一个接 收者读取之后,它就在这个Queue中消失了,所以一个消息只能被一个接收者消费。与点到点模型不
阅读全文
Windows Service的安装卸载 和 Service控制[转]
摘要:本文内容包括如何通过C#代码安装Windows Service(exe文件,并非打包后的安装文件)、判断Service是否存在、获得Service状态及启动停止Service。 创建Windows Service项目并Build得到exe文件,如何创建 Service 可参考创建windows service 并打包成安装文件。一、 Windows服务的安装和卸载 安装和卸载服务可以使用 .NET 工具installutil.exe (eg:安装-> installutil xxx.exe 卸载-> installutil /u xxx.exe),使用ManagedInstalle
阅读全文
vs2008下打包winform程序[转]
摘要:前提:要打包的WinForm已经编译完成。注:到对应应用程序文件目录下的bin文件夹中可以查看编译好的exe文件。1. 文件—> 新建—>项目 在“新建项目”对话框选择“其他项目类型” 然后选择 “安装项目”,命名项目名,然后“确定” 然后出现下图2. Application Folder 是安装程序之后,程序文件所在位置等信息,包含所有bin文件夹下Debug中的文件,将其全部加入“应用程序文件夹”。注:右击Application Folder(即“应用程序文件夹”),选择“属性窗口”,将DefaultLocation属性的值“[ProgramFilesFolder][Manuf
阅读全文
c#多线程二[转]
摘要:一个简单的Form, 按钮btnTest是enabled=false。在btnEnable的Click事件中 创建线程,在线程中尝试设置btnTest.Enabled = true; 发生异常:线程间操作无效: 从不是创建控件“btnTest”的线程访问它。代码如下: 1 using System; 2 using System.Threading; 3 using System.Windows.Forms; 4 5 namespace TestingUIThread 6 { 7 public partial class Form1 : Form 8 { 9 Th...
阅读全文
c#多线程一[转]
摘要:在开发Window应用程序的时候,经常需要在界面上显示出已经执行到什么步骤了,拿一个简单例子来说,创建一个Winform程序,在窗体上访一个Button和一个Label,点击Button时做100次循环,在Label上实时显示当前循环的次数。一种简单的做法就是使用Application.DoEvents,代码如下:private void btnTest_Click(object sender, EventArgs e) { for (int i = 0; i < 100; i++) { Thread.Sleep(100); label1.Tex...
阅读全文
Oracle 中truncate与delete的区别[转]
摘要:truncate是oracle中独有的关键字吧!它的作用是清空一个表格,在删除数据方面,其与delete有一些区别,以便自己记住:1、在功能上,truncate是清空一个表的内容,它相当于delete from table_name。2、delete是dml操作,truncate是ddl操作;因此,用delete删除整个表的数据时,会产生大量的roolback,占用很多的rollback segments, 而truncate不会。3、在内存中,用delete删除数据,表空间中其被删除数据的表占用的空间还在,便于以后的使用,另外它是“假相”的删除,相当于windows中用delete删除数据是
阅读全文
Securities Identification Codes: SYMBOL, CUSIP, ISIN, SEDOL, RIC Code[转]
摘要:I have been thinking of gettting some details of all the security codes together from a while. In this article I have explained some fundamental detailsof eachidentifier.These are heavily usedin daily life of the technical and nontechnical staff of the financial firms.List different security Identif
阅读全文
提升资料搜索质量的若干步骤
摘要:越发觉得好的Developer的资料查询技能重要,分享下自己的经验:step1: 一般技术问题,英文google,中文baidu大都可以解决step2: 进入领域搜索阶段,一般在需要深入了解某个topic的时候 1) amazon搜索,很容定位到具体某领域的专注,看星评价就好,建议先从amazon.com搜起。 当然,这里边可以换做任何的提供搜索功能的在线书店,或者文档分享网站,甚至可以是学术论文查询库!这里给出我常用的供大家参考,iask,百度文档,google文档,人大论坛等。 2)电驴,dbank等p2p分享或者云存储网站。 电驴的资源就不用...
阅读全文
Developing with Comet and Java[转]
摘要:http://www.ibm.com/developerworks/web/library/wa-cometjava/
阅读全文
MSI for a .NET COM Component with NAnt 【转】
摘要:http://www.codeproject.com/Articles/106740/MSI-for-a-NET-COM-Component-with-NAnt
阅读全文
vs.net打包程序时设置自动检测环境并安装.net framwork[转]
摘要:vs.net打包程序或者制作安装程序时自动检测环境并安装.net framwork的设置方法之前我看过文档也做过,但是过一段时间又忘了,现在终于又找到方法了,还是把这个方法写下来吧,方便自己也方便大家将来查询用。 vs.net打包或者制作安装程序时进行自动检测环境并安装.net framwork的设置方法: 1. 新建一个“安装和部署”的项目; 2. 然后点击“视图”菜单,选择“编辑器”--“文件系统”,然后将要打包的程序以及相关文件添加进来,之后程序将自动检测依赖项; 3. 再次选择“视图”菜单,选择“编辑器”--“启动条件”,打开这个界面后会自动启动条件里一般都会自动添加“.NET Fra
阅读全文
excel worksheet密码保护破解[转]
摘要:Public Sub AllInternalPasswords()' Breaks worksheet and workbook structure passwords. BobMcCormick' probably originator of base code algorithm modified forcoverage' of workbook structure / windows passwords and for multiplepasswords'' Norman Harker and JE McGimpsey 27-Dec-2002 (V
阅读全文