2007-12-12

EJB2.1 & EJB3.0: Timer Service三部曲

关键字: ejb, time service, 调度
对于J2EE中的调度任务, 在ejb2.1推出前, 似乎只能采用一些非常途径:比如在servlet中new一个Timer. 我们急切的需要EJB的标准实现. 最近我们就遇到了这样的需求. 还好websphere升级到了6.0, 支持ejb2.1规范,在ejb2.1标准中, 提供了一个Timer Service的标准实现. 要实现Timer Service, 通常的做法就是让一个无状态sessionbean实现TimedObject接口. public interface TimedObject{     & ...
2007-06-06

纯java 的javascript引擎:rhino

关键字: 纯java 的javascript引擎 rhino js引擎 java脚本引擎
前段时间,在浏览javaeye论坛,看见有人征集如何在java中运行数学表达式。 结果方案五花八门: 1.jakarta commons JEXL. 2.Beanshell 3.Java Math Expression Parser jep 4.parse combinator jparsec 5.jdk 6.0的 script 6.利用SQL 7.自己写语法分析 如果自己写语法分析,没有个2000行估计搞不定。有人用sql来运行数学表达式,比较另类。 不过由于前段时间较深入的学习了一些java的javascript引擎,我给出的方案就是用javascript来计算 ...
2007-05-17

采用 ajax + vml 生成柱状图报表

关键字: B/S实时报表生成技术
备份一个有意思的小东西:动态柱状图,采用ajax + vml。 vml是微软在IE5中就支持的矢量图技术。采用xml的格式来生成矢量图,这为我们在页面上生成高质量的图像提供了 很好的支持。另:虽然SVG很好,但IE不支持(不安装插件的话)。 程序很简单: 一个servlet:采集数据(仅仅随机产生一个数组)。 一个html页面:采用ajax从servlet得到数据,然后用vml生成图表。由于采用了ajax,页面是不刷新的实时得到数据。 1: servlet:PingServlet.java package co.vml.servlet;   ...
3:Socket网络框架 MINA MINA是一个网络应用框架,在不牺牲性能和可扩展性的前提下用于解决如下问题: 1:快速开发自己的英勇。 2:高可维护性,高可复用性:网络I/O编码,消息的编/解码,业务逻辑互相分离。 3:相对容易的进行单元测试。 3.1 IoFilters: IoFilter为MINA的功能扩展提供了接口。它拦截所有的IO事件进行事件的预处理和后处理(AOP)。我们可以把它想象成 Servlet的filters。 IoFilter能够实现以下几种目的: 事件日志 性能检测 数据转换(e.g. SSL support),codec 防火墙&hellip ...
  • 18:20
  • 浏览 (4491)
  • 评论 (1)
最近花了点时间研究了一下nio,及其开源框架MINA,现把心得总结如下: 1:传统socket:阻塞式通信 每建立一个Socket连接时,同时创建一个新线程对该Socket进行单独通信(采用阻塞的方式通信)。这种方式具有很高的响应速度,并且控制起来也很简单,在连接数较少的时候非常有效,但是如果对每一个连接都产生一个线程的无疑是对系统资源的一种浪费,如果连接数较多将会出现资源不足的情况。 example: server code: java 代码 public class MultiUserServer extends Th ...
  • 17:57
  • 浏览 (2461)
  • 评论 (0)
2007-04-04

socket, nio socket,及xml传递object 方法

关键字: nio socket xml base64
最近在弄关于socket的东东,现总结如下: 1:如何通过socket代理来访问服务端: String proxyHost = "192.168.204.212";    String proxyPort = "1080";       //通知Java要通过代理进行连接。    System.getProperties().put(" ...
2007-03-12

演讲:单元测试及测试自动化

关键字: JUnit与Ant
前天,公司安排我给同事做了一个单元测试和测试自动化的培训。 前后花了一个半小时,声嘶力竭,总算不辱使命,反响良好。 其实单元测试是一个相对复杂却很重要,但在现实项目中往往难于实施的一个问题。 往往和refector同步进行,相辅相存。 特把PPT放出来,共感兴趣的同仁参考,也希望反馈好的想法。
Velocity是一种Java模版引擎技术,该项目由Apache提出,功能强大。用了一段时间,有点心得,总结如下:1:装载vm模版时,需要设置Velocity.FILE_RESOURCE_LOADER_PATH属性,String loadpath;Velocity.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, loadpath);此loadpath为vm文件的文件夹,是绝对路径。而 Velocity.getTemplate(String filename)中,filename是loadpath目录下的文件。一个例子如下:pu ...
  • 16:14
  • 浏览 (754)
  • 评论 (1)
2006-10-30

websphere ejb 远程/本地调用总结

关键字: ejb调用总结
1:本地调用 前提: (1)被调用者实现了LOCAL接口 (2)调用者和被调用者应该在同一EJB模块打包文件(ear)內,由于是本地调用,也就是说调用者和被调用者应运行于同一个ejb容器内,所以,想用类似main函数调用的企图都是不能成功的(因为main函数不可能运行于ejb容器)。 (3)调用者的部署描述(ejb-jar.xml)中有关于被调用者的Local ref的描述。 示例如下: 比如我有一个无状态sessionBean(被访问者):MapSessionBean,一个访问用的sessionBean:AccessBean 其中AccessBean的ejb-jar.xml ...
现备份一下IProxy模块代码:包含:1:一个无状态SessionBean:负责JMS和http服务 2:一个MDB:负责监听一个message queue,并调用其它模块ejb.其它辅助类我就不备份了,纯属个人备份,如果有人对sessionbean,mdb感兴趣,可以参考.一:负责JMS服务的实现类为JmsService,负责http服务的实现类为:HttpService,为了调用方便,它们都实现ServiceInterface接口:package co.iproxy.service;/** *//** * @author lich ...
  • 16:50
  • 浏览 (649)
  • 评论 (0)
lcllcl987
搜索本博客
博客分类
最近加入圈子
存档
最新评论