自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(148)
  • 收藏
  • 关注

用Linux操作系统中流量控制器(TC)来模拟Linux机器网络之间情况

Traffic Control ,简称TC,主要是在输出端口处建立一个队列进行流量控制,控制的方式是基于路由,亦即基于目的IP地址或目的子网的网络号的流量控制。流量控制器TC,其基本的功能模块为队列、分类和过滤器。Linux内核中支持的队列有,Class Based Queue ,Token Bucket Flow ,CSZ ,First In First Out ,Priority ,TEQL...

2015-02-09 15:18:35 274

在linux32上编译c程序,依赖apr的库,碰到的编译问题

 在linux32上编译c程序,程序依赖apr,在编译时出现下面的错误:  /apr-1/apr.h:358: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘apr_off_t’ 经过调查,发现是在32位机器上,编译c程序时需要说明要支持大文件,给CFLAGS增加设置CFLAGS=-D_LARGEF...

2015-01-23 14:46:05 340

原创 tomcat下同一个应用通过不同路径加载为两个应用时的陷阱

在tomcat的webapps目录下,可以部署多个应用,例如应用的名称为appName,则访问该应用的url为:host:port/appName如果需要以host:port/ 路径来访问该应用,可以设置server.xml的Context属性<Context path="" docBase="appName" /> 其中docBase是应用存放的位置,path...

2015-01-21 09:43:54 384

原创 ActiveMQ,InactivityIOException: Channel was inactive for too (>30000) long的问题分析

ActiveMQ集群中包括broker1和broker2,在broker1上建立connector连接到broker2。当两个broker启动后,在没有生产者、消费者的情况下,broker1持续出现InactivityIOException,不断断开链接并重连。测试发现在broker2上useInactivityMonitor设置为false。分析结果如下:useInactivityM...

2014-12-11 17:54:20 1305

Gradle打包时出现警告:编码 GBK 的不可映射字符的问题

  对于gradle2.0以前的版本,在build.gradle的最后加上tasks.withType(Compile) { options.encoding = "UTF-8" }    对于gradle2.0以后的版本,在build.gradle的最后加上tasks.withType(JavaCompile) { options.encoding ...

2014-11-25 10:54:09 770

在C#中调用C++的DLL碰到的指针内容变化问题

在C#中调用C++的DLL碰到了蹊跷的问题,C++暴露如下接口: void func(StructA* a)   该函数的参数为一个结构体指针。在C#代码中调用该函数,C++中得到该指针,这里的值是正确的,然后将该指针赋予C++代码中的一个结构体指针变量,后面再取该变量时,结构体中的一个变量总是错误的值,其他值都是对的。经过分析认为原因可能是该指针变量的值在C#环境中被改动...

2014-03-14 14:44:29 451

IBM Workload Deployer简介

    IBM Workload Deployer为云计算提供了创建、部署和管理工作负载的解决方案。用户可以使用它从基本镜像来快速构建、部署虚拟系统,扩展镜像,定制镜像并形成可重用的部署单元。IBM Workload Deployer还提供以应用为中心的业务应用快速部署能力。IBM Workload Deployer带有标准和定制化的中间件虚拟镜像,能够监控应用负载需求条件并根据设定的服务标准等...

2014-02-11 17:01:51 132

java命令中-d32和-d64的含义

java命令中用-d32和-d64来表明程序运行在32位或者64位环境。如果JVM本身不支持该参数,会报告错误:java -d32Unrecognized option: -d32Could not create the Java virtual machine. 当前仅有java hotspot server VM支持64位模式。选择 "-server"选项必须使用-d64;"...

2014-01-18 14:41:16 1789

Activemq prefetch extension的含义

    Prefetch extension用于一条消息被发送出去但是没有收到确认回复的情况。如果设置了usePrefetchExtension为true,那么在代理分发消息数量达到预取值后,,代理仍然会继续分发消息。例如,如果prefetch size=10,代理分发了10条消息而没有收到确认回复,如果usePrefetchExtension为true ,则代理会继续分发另外10条消息。如果us...

2014-01-14 13:47:56 141

原创 Activemq 在大流量下出现内存耗尽的情况以及解决方案

在大量消息持续发送到broker的情况下,当broker到消费者之间的网络满了以后,broker的消息无法发送出去,导致在TransportConnection的dispatchQueue中堆积的消息越来越多。PendingMessageCursor中的消息不能被及时消费,导致broker判断消费者为慢消费者。当broker的内存被耗尽后JVM会频繁的进行full gc,由于消息不能被回收,所...

2014-01-13 12:41:03 4361

原创 activemq 持久化topic处理过程及其消息游标轮转问题的解决方案

    如果消息是持久化的,activemq收到消息后会存储在持久性cursor中。对于非持久化消息,会存储在File Cursor中。从名称上File Cursor是持久性cursor,实际上activemq把FilePendingMessageCursor作为非持久性cursor。File Cursor首先在内存中保存消息的引用,如果内存使用量达到上限,那么会把消息引用保存到临时文件中,这...

2013-12-04 09:17:30 370

原创 ActiveMQ中ActiveMQBytesMessage类型可能会丢失数据的问题及解决

ActiveMQBytesMessage类型的消息在特殊情况下会丢失数据,就是在被拷贝前设置消息的某个属性。下面是测试代码: producer代码MessageProducer producer;//initialize Connection, Session, Producer......byte[] bs = "bytes message".getBytes();...

2013-11-23 12:00:14 1982

原创 Active MQ5.7版在NIO模式下SSL通信的问题以及后续版本的解决

Active MQ 5.7版在NIO模式下SSL通信可能会出现BufferUnderFlowException异常。NIO模式下SSL通信的工作类为 org.apache.activemq.transport.nio.NIOSSLTransport,数据包传输格式为数据长度dataL +数据内容dataContent,所以基本的命令处理算法是这样的    1 //得到数据包长度ne...

2013-11-11 09:35:00 151

以JMS标准接口访问IBM MQ

  IBM MQ是广泛应用的消息中间件,如果实际项目中消息中间件只有IBM MQ,那么可以用IBM MQ提供的包来访问。如果想让客户端代码通用,支持所有JMS标准的MQ,就需要以JMS标准方式访问。参考这个帖子,关键是如何获得连接MQ的java.jms.Connection。对于IBM MQ不能以传入url的方式获得Connection,只能以JNDI查找的方式获得Connection。...

2013-11-08 09:57:36 904

原创 ActiveMq中Session的事务与消息过期

ActiveMQ有支持两种事务,JMS transactions - the commit() / rollback() methods on a Session (which is like doing commit() / rollback() on a JDBC connection)XA Transactions - where the XASession acts as a...

2013-11-07 11:52:39 319

原创 在基于CXF的webservice中访问HttpServletRequest的方法

基于CXF开发webservice,想在webservice实现类中获得HttpServletRequest对象,用了几种方式,用@Resources标签或者@Context标签都不行。@Context标签下对象为null,@Resource标签虽然注入了org.apache.cxf.jaxws.context.WebServiceContextImpl了WebServiceContext 对...

2013-10-24 14:49:04 422

原创 Nagios 简介及其二次开发

  Nagios简介 Nagios是十分受欢迎的、开源且免费的计算机及网络系统监控软件。Nagios是“Nagios Ain‘t Gonna Insist On Sainthood”的缩写。它最早是在1999年以“NetSaint”发布。Nagios主要应用在Linux和Unix平台环境下的监控,但通过插件,也可以监控MS Windows系统的主机。Nagios在LinuxCon 201...

2013-10-23 13:14:11 361

原创 ibatis的缓存中计算cachekey的过程

CachingStatement在执行查询的时候,会先从CacheModel中获取结果。如果结果为空,则执行查询并将结果保存在CacheModel中。在读写CacheModel的过程中,都需要获得CacheKey对象,以CacheKey作为缓存的key。下面是获得CacheKey的过程:  CachingStatementpublic CacheKey getCacheKey(S...

2013-04-03 14:14:25 318

原创 linux中的内存使用

在Linux中用ps命令看到的每个进程使用的内存是该进程所用到的内存之和,是假定当系统只有该进程运行时,该进程使用的内存。 之所以用ps看的内存报告是“错误的”是因为Linux系统对共享库的处理。系统只装载一份共享库代码,所有使用该库的进程都可以在自己的地址空间中访问到该共享库代码。 比如ps命令报告每个Apache进程可能都用了10M内存,而实际上每个进程的边际代价为1M内存,其余9M是...

2012-11-28 11:08:17 82

原创 svn的switch命令与branch用法 、merge命令用法

svn的switch命令的作用是转变本地工作目录所指向svn的url。运行switch之后,本地工作目录的文件更新为新的url中的内容,而该工作目录原来所指向的url中的内容在服务器上不会变化。再次switch,选择原来的url,内容就会回来。把当前trunk中的版本,branch到一个分支去。我使用的tortoise,在当前的工作目录(trunk)点击右键,点击branch,在to框...

2012-11-28 11:07:40 1357

原创 巧用linux管道,让mysql执行大量脚本文件

在工作中碰到这样的需求,要mysql执行大量脚本来更新数据库。查了mysql的source命令,只能执行一个脚本文件。我试了source /sqkdir/*.sql; 不行。mysql不能把*.sql作为文件名通配符来处理。后来请教了别人,找到了办法。利用管道,执行如下命令:cat /sqldir/*.sql | mysql -u username -p这样就实现了让mysql执行大量脚本...

2012-11-28 11:07:22 443

原创 spring mvc,在controller中获取属性文件的值

参考链接:[url]http://stackoverflow.com/questions/3652090/difference-between-applicationcontext-and-spring-servlet-xml-in-spring[/url][url]http://stackoverflow.com/questions/10102216/why-is-spring-va...

2012-11-06 18:01:27 155

原创 在aix上编译apache的过程

在编译的时候,要保证环境变量中有c的complier在aix上编译apache 2.2。14的过程1 上传httpd-2.2.14.tar,解压 tar -xf httpd-2.2.14.tar2 编译zlib,zlib是在编译apache过程中打包用的2.1 tar -xf zlib-1.2.3.tar2.2 cd zlib-1.2.32.3 chmod 777 conf...

2012-11-02 15:34:01 217

原创 建立网络连接时发生的底层系统调用

建立一个server端socket(监听端点)的时候,需要执行下列系统调用*socket()*bind()*listen()*accept()*I/O functions*close()To establish a client-side socket the following must be called in order:建立一个cli...

2012-11-02 15:33:07 107

原创 在ant脚本中设置环境变量

在ant中执行命令的时候,有时候需要设置环境变量,例如: 这样,在执行some-executable-file的时候,该文件可以访问到env-p1环境变量。

2012-11-02 15:23:46 489

原创 EJB transction, BMT, CMT,setRollbackOnly

So, you have two choices: BMT and CMT.(unless you're an entity, in which case you're CMT)With BMT, your job is to demarcate the start and end of the transaction.You use your context (EJBContext)...

2012-11-02 15:22:59 201

原创 EJB 的事务与timer

1)设定时间间隔后能重复定时的Timer    在EJB 2.1规范中定义的Timer有两种,一种是single-event timers,另一种是interval timers。single-event timers在它的生命周期中只产生一次timeout,而interval timers可以在每经过一段时间间隔后产生一次timeout。    2)Timer的持久性  ...

2012-11-02 15:21:10 182

原创 ant copy命令中排除某些目录和文件的方法

ant可以拷贝目录, 上面的命令把目录sourcedir拷贝到destdir如果sroucedir下有目录A B C D, 文件a b c d,要排除目录A B和文件a b,则 这样,sourcedir下的目录A和B,文件a和b就不会拷贝到destdir...

2012-10-28 17:30:25 1153

原创 用ant获得svn的版本号

在使用ant构建项目的时候,有时候需要获得当前svn的版本号,以便将该版本号打入构建的build中,这样每个build版本都有了合理的build号。 为了实现这个目标,需要使用一个库http://code.google.com/p/svntask/downloads/list。将该项目下来后,解压出需要的jar:svnkit.jar, svntask.jar,下面就可以用ant获得sv...

2012-10-28 17:29:41 269

原创 使用ant替换文件中的变量值

使用ant可以替换文件中的变量值,这样可以在用ant做build的时候根据build时刻的信息改变java源文件的内容,然后build该java文件。 说明,tstamp任务为属性build_date赋值,值为当前的日期 copy任务将源文件src/Source.java拷贝到src.tmp/Source.java,在拷贝的同时,将Source.java中的字符串@build_date@替换为属性...

2012-10-28 17:28:58 535

原创 在jdk1.6上编译碰到问题

最近在编译我们的中间件产品的时候,碰到了一些问题原来编译环境:jdk1.5,OS:linux为64位,windows为32位。现在转移到jdk1.6上在jdk1.6上编译,OS:linux为64位,windows为32位。在编译某个模块的时候,会提示bad class file: xxx.class,unable to access file: corrupted zip file...

2012-10-28 17:28:12 453

原创 在64位windows系统编译,用maven编译不过,会hang

在64位windows系统编译我们的中间件,用maven编译不过,会hang。直接用ant编译没问题。发现maven 1.0.2自带的ant是1.5.3的,直接用ant 1.7.1编译时可以的,应该是ant内部实现机制不同导致的。http://youtrack.jetbrains.net/issue/IDEA-26198关于这个bug的解决方案,这个bug与下面的item 8有点关系I...

2012-10-28 17:26:32 103

原创 在Java中调用Matlib函数的方法

Matlib是强大的数学计算工具,可以在Java中调用Matlib的函数。例如,在Matlib中定义函数:function y = MainFunction_d(parain)函数MainFunction_d接收参数parain,有返回值y。在java中如何在调用时传输参数并获得返回值呢?mainfunction mf = new mainfunction(); ...

2012-10-27 23:00:04 341

原创 长距离传输数据的速度上限

光或者电信号的传输是有固定速度的,即近似每秒30万公里(其实远未达到,光在光缆中的传播速率只有20万公里每秒,电信号在电缆中的传播速率则近似21万公里每秒。基本上是光在真空或者空气中速率的三分之二)。如果两点之间距离为1000公里,那么信号传一个来回(传到对端,然后对端给以ACK应答)所耗费的时间就是1000÷300000×2≈6.6ms。什么概念呢?也就是你想把1bit的数据传输到一千公里之外的...

2012-10-27 22:59:12 546

原创 基于trie树做数值范围查询的原理

trie树,也称作前缀树,是有序的树状数据结构。它的特点是节点在树中的位置与节点的值有关联。一个节点的所有后代都以该节点作为前缀,通常根节点是空的,这就是前缀树的含义。 用trie树构造的数据结构如下 4 5 6 42 44 55 64 ...

2012-10-27 22:58:17 199

原创 为虚拟机增加硬盘空间

为虚拟机增加硬盘空间后启动虚拟机,进入系统发现硬盘空间没有改变。原因是增加的空间并没有被系统识别,需要对新空间格式化。进入系统后,右击我的电脑选择“管理”进入后再选择“存储”中的“磁盘管理”。对你刚才新增加的硬盘进行快速格式化后,就可以为你原先的硬盘多增加一个盘符=已经扩大你原先的硬盘大小...

2012-10-27 22:56:43 69

原创 vmware克隆虚拟机后新虚拟机网卡eth0故障解决

用Vmware clone虚拟机后,新虚机的网卡eth0起不来,问题是新虚机网卡的mac地址不正确,解决方法:编辑文件:/etc/sysconfig/network-scripts/ifcfg-eth0,把HWADDR=.... 这行注释掉编辑完成后运行service restart network,可以看到eth0启动了再运行ifup eth0就OK了。...

2012-10-27 22:55:53 177

原创 配置apache php mysql

配置apache加载php和 mysql。修改文件apache/confg/httpd.conf,假设php的安装目录是 yourphp ,编辑以下内容:告诉apache加载php和mysql相关dllLoadFile "yourphp/libmysql.dll"LoadModule php5_module " yourphp /php5apache2_2.dll"AddType ...

2012-10-25 14:40:07 107

原创 在centos 6.2上安装virtualbox 4.1

在centos 6.2上安装virtualbox ,由于centos与rehl版本一致,所以选择的vbox版本是针对rehl6的。开始安装rpm -ivh VirtualBox-4.1-4.1.8_75467_rhel6-1.x86_64.rpm安装到后面会出错,提示查看日志:/var/log/vbox-install.log错误信息为:Error: unable to find ...

2012-10-25 14:39:17 72

原创 linux下抓包

使用tcpdump来抓包 1. tcpdump -D 获取网络适配器列表输出:1.usb02.eth03.eth14.usbmon1 (USB bus number 1)5.eth26.usbmon2 (USB bus number 2)7.eth38.usbmon3 (USB bus number 3)9.usbmon4 (USB bus number...

2012-10-25 14:38:13 98

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除