`
zhuyuanxiang
  • 浏览: 130674 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
为了帮助越来越多的Apusic爱好者和使用者更加顺利的使用Apusic应用服务器,作者准备将大量经典的、并且应用广泛的框架例子部署到Apusic V5.1的应用服务器上,现在计划中的有:● Struts V2.0.9● Spring● Hibernate● iBatis● Pluto● Liferay如果大家有其他的需要,可以在后面跟帖说明,作者会根据需求情况调整优先级或者加入新的框架。或者有其他朋友有兴趣撰写或者已经写了相类似的文章,也欢迎一起来共享和转帖。
Apusic上用JavaMail发邮件0. JavaMail基本介绍 JavaMail是属于J2EE框架中的一部分,主要是为简化Mail部分开发工作。使用JavaMail发送邮件需要以下步骤: 1)初始化Session实例; 在初始化Session实例中有两种方式:使用JNDI初始化和在代码中自行完成初始化。 ★ 如果SMTP不需要认证,则不再做其他工作; ★ 如果SMTP需要认证,则确定在Session中提供嵌入认证信息,还是由3)Transport完成认证过程。 2)初始化Message实例,填充相关信息; 3)初始化Transport实例,连接到远程SMTP服务器,发送邮件。 在初始化Tr ...
最近,协助伙伴将Tomcat上开发的应用向Apusic移植时发现了一个兼容性问题。应用中代码为:HashMap params = (HashMap) request.getParameterMap();而getParameterMap()在JCP规范中的定义为:public java.util.Map getParameterMap()Returns a java.util.Map of the parameter ...
★ 什么是资源?开发过程中与业务无关的服务、类的实例或者变量的值。比如:Apusic J2EE应用服务器管理的JDBC服务是资源,用户开发的EJB、WebService是资源、用户定义的配置文件也是资源。 ★ 为什么要资源注入?大多数企业级java应用程序都使用了诸如DataSources,EJBs或WebService的外在的资源和服务,在J2EE 1.4中,用户必须在部署描述符中明确声明所依赖的资源或者使用JNDI的lookup方法去获得资源的引用。 最初目的是为了减少应用与资源的依赖度,具体可以参考IoC(控制反转)和DI(依赖注入),但现在作者认为优点很多:1. 减少应用与资源的依赖度, ...
目标:Spring的ImageDB例子在Apusic V5.1上部署 术语:Apusic:提供了完整的J2EE支持的商用服务器;Spring:开源框架,是其他各种框架的粘合剂;Oracle:著名的商业关系数据库系统;MySQL:著名的开源关系数据库系统;%APUSIC_HOME%:Apusic ...
目标: Spring的Countries例子在Apusic V5.1上部署 术语: Apusic:提供了完整的J2EE支持的商用服务器;Spring:开源框架,是其他各种框架的粘合剂;%APUSIC_HOME%:Apusic安装目录;%JAVA_HOME%:JDK安装目录。 准备: 在http://java.sun.com下载JDK V1.5以上的版本并安装,确认JAVA_HOME正确指向装好的JDK目录;在http://www.apusic.com下载Apusic V5.1以上的版本并安装;在http://www.springframework.org/download上下载spring-fr ...
目标:将Struts提供的例子部署到Apusic V5.1上,并且可以正确运行。因为Struts 1.x与Struts 2.x有较大区别,因此本文对两个版本的例子都进行了部署。 术语:Struts:使用最为广泛的MVC框架。Apusic:完全支持J2EE规范的商业应用服务器产品,最新版本V5.1可以提供对Java EE 5.0的完整实现。%APUSIC_HOME%:Apusic安装目录 准备:在http://archive.apache.org/dist/struts/binaries/struts-2.0.9-all.zip下载Struts V2.0.9的压缩包;在http://archi ...
目标:将Tomcat V6的的例子Examples移植到Apusic V5.1上   术语:Tomcat:只提供了WEB容器的开源服务器;Apusic:提供了完整的J2EE支持的商用服务器;%TOMCAT_HOME%:Tomcat安装目录%APUSIC_HOME%:Apusic安装目录 准备:在http://java.sun.com下载JDK V1. ...
最近的项目,面临情况如下:1. 并发压力大。平时并发连接大约在3000左右,高峰期是8000人上线访问,预期未来会达到20,000人同时在线。2. 受到网络攻击。系统是接在公网上致使网络爬虫和攻击工具都可能给系统带来未知压力,甚至突然增加的并发访问导致系统瘫痪。3. 数据库压力大。有大量的数据库访问操作,并且SQL语句中含有COUNT(*)或者JOIN等消耗系统资源的代码。 为了满足应用需要,特别对以下环境进行了调优。系统基本配置如下:HP-UX V11.11 2CPU 4GHP JDK V1.5Apusic V5.0SQL Server 2005 系统硬件条件已经确定,系统资源调用变化最频繁的 ...
“没有最优,只有平衡”。因此在配置与调优之前,我总喜欢先介绍理论基础。Apusic AS V5.1的线程池只是个池服务,池中没有具体的线程,池中管理的线程是与业务相关的服务启动后并加入的。线程池只负责管理池中线程的数量和生命周期,从而简化了Apusic应用服务器的池管理框架。验证线程池的方法有以下几种:1. 在Windows下启动Apusic V5.1的mydomain域,里面不带任何自启动线程的应用,在命令行窗口下按Ctrl+Break结果见附一(各人机器可能有所不同),发现系统没有任何与线程池相关的线程启动。打开IE访问一个HTML页面,再Ctrl+Break结果见附二,发现多了两个线程:R ...
作者一直被某个项目的HP-UX折磨,系统运行一段时间后就会出现大量的CLOSE_WAIT连接,然后Apusic应用服务器就一直处于非常繁忙的状态,但是Dump JVM发现Apusic的许多线程处在空闲状态,此时将Apusic重新启动将连接全部释放系统就恢复正常了。分析认为因为系统在公网上受到攻击有关,攻击会建立大量的空闲连接,然后使连接处于CLOSE_WAIT状态,从而系统需要消耗大量的资源去维护这些连接直到断开,从而影响系统运行的效果。为此,作者调整了相关的网络参数,效果比较明显,CPU压力大幅下降。ndd -set /dev/tcp tcp_keepalive_interval 120000 ...
小的时候用过上海药皂,并没在意那个味道。长大了知道民办上香皂种类很多,还有洗手液,洗完喷喷香,比上海药皂高级多了,于是不再喜欢那个便宜货,对药皂的味道也讨厌起来。 工作了多年后,今天在重庆出差,无意间在超市又看到了上海药皂,不知为何突然觉得很亲切,价格还是那么便宜,样子也还是那么难看,并且还保持着传统的味道。但是这次我却不喜欢它周围那些漂亮的瓶瓶罐罐,花钱买它也不在乎别人看我是不是落伍。回到酒店洗完澡,发觉身上散出淡淡的味道很舒服,胜过以往的那些浓郁的味道。 可能,生活就是这样,原来怀念的仍是那种简单。
上文描述了如何在Apusic AS的Web应用中调用Log4J,有些朋友会觉得Log4J使用前还需要初始化比较麻烦,还有些朋友会说“怎么你这个Log4J使用起来那么复杂,我们的项目都没有那么过程呀?”,那是因为许多Web应用中是用Java commons-logging(JCL)+Log4J的,如果采用JCL+Log4J就不需要初始化了。 那么为什么有了Log4J又有JCL呢?是因为SUN的JDK 1.4中自带有日志框架,Log4J是Apache提供的日志框架,为了扩展应用的兼容性,保证应用可以无缝切换到不同的日志框架,因此JCL提供的是日志系统的接口,通过给工厂接口提供不同的实现类,从而保证与 ...
经常碰到项目中用Log4J,但是自己一直都没有认真去研究过Log4J的运行流程,看了许多资料讲得都是Log4J.properties怎么配置,但是Log4J启动→调用→输出的流程仍然不清楚,本文就准备对Log4J的详细启动过程进行介绍,使得大家可以 ...
开博时并没想过要写多少,但是写段时间后感觉不错。 首先,把过去的知识积累了下来,想用的时候通过网络一搜就能找到。 后来,发现可以通过网络与更多的朋友交流思想。 而且,当看到点击率增加,特别是有人表扬也极大满足了虚荣心呢。对于批评也有更好的承受力。 于是,使劲写到半夜三更,结果身体吃不消了,博客反而被放了很久,欲速则不达呀。 休养了很长一段时间后,重新检讨了过去的方式,计划每天笔耕一百字,坚持几天发现难呀。 一个是废话太多,百字根本不够用;其次,到家后累得连话都不想说更别提开电脑写博了。也深刻领会了古人所说笔耕的含义。 今天,计划为有时间就先在本子上写点,最后汇总到电脑里面,这样可以把等客户的小块 ...
Global site tag (gtag.js) - Google Analytics