JAVA-and-J2EE

Resin4.0安装小记

星期日, 十月 18th, 2009 | JAVA-and-J2EE, linux, php | 2 Comments

Resin出了4.0版本,一直喜欢尝试新东西的直接; 就下载安装了下,安装起来很简单,可以到Resin Download去下载,其实以前在windows中下载过,可惜执行的时候一闪而过,当时没有在意也没有去管他了,今天又在linux下去真正用下了;
1.tar zxvf resin-4.0.1.tar.gz
2.cd resin-4.0.1
3../configure
4.make & make install
5.修改resin.xml的用户组 www-user,给赋予webapps的对应的用户组权限
6../bin resin.sh start 不报错的就可以http://localhost:8080/看到页面了,记得防火墙的8080端口要打开哦

不过可惜的是4.0版本据说不稳定,有人发生宕机事件,还有就是有的在上面运行出错的问题;
再者看resin的主要意图是增加对php的支持,研习resin4.0版本的文档也不是很多
为了稳定还是延续使用ReResin Pro 3.1.9版本
最近会处理一些nginx+resin的处理,还有resin本身的集群功能;nginx+PHP(FastCGI)+mysql已经搭建完毕

Tags: , , , ,

遭遇db2频繁报内存不足的OS错误勘误解决方法

星期日, 十月 11th, 2009 | Database, JAVA-and-J2EE | 一条评论

异常信息,因为有数据库的轮循处理,查询比较频繁,加上有高的并发访问,不到2个小时就挂掉了
希望高手求解!(下面是论坛的求助和解决方案,最终还是sql的实参过多,缓存溢出造成)

2009-09-29-19.48.24.000000+480 I34133163H580 LEVEL: Warning
› Continue reading

Tags: , , ,

webgame的开发烦恼之多

星期一, 九月 28th, 2009 | Database, JAVA-and-J2EE | 2 Comments

做webgame开发遇到很多以前做软件时候不需要考虑的问题,面对高并发,外接任务的等灵活对接;
不单需要考虑的实现快速,还要考虑快速的扩展;
既要保证程序的快速实现,又要确实减少数据库的压力;
游戏的引擎设计很大程度上决定了你的产品上线后能应付多大的高并发,对应数据库的优化配置
貌似简单,不知道里面凝结多少智慧和汗水,也行这就是经验探索~~~~

聊记下:将近一个月的疯狂加班的思索和重构的欲望

Tags: , ,

126邮箱抛出了的一个异常

星期一, 九月 14th, 2009 | JAVA-and-J2EE | 4 Comments

今天用邮箱发送邮件的时候,抛出了的,看了下原来采用的spring框架下的一个bean没有定义,底部采用的是resin发布的,呵呵
记录下异常信息,聊以回忆!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
500 Servlet Exception
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named 'sanjinDailyDrawBox' is defined
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:387)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:968)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:246)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:269)
	at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:104)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1245)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1010)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:472)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:423)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
	at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45)
	at com.caucho.server.webapp.Application.start(Application.java:1647)
	at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
	at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72)
	at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:509)
	at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
	at com.caucho.server.webapp.ApplicationContainer.start(ApplicationContainer.java:670)
	at com.caucho.server.host.Host.start(Host.java:420)
	at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
	at com.caucho.server.deploy.StartAutoRedeployAutoStrategy.startOnInit(StartAutoRedeployAutoStrategy.java:72)
	at com.caucho.server.deploy.DeployController.startOnInit(DeployController.java:509)
	at com.caucho.server.deploy.DeployContainer.start(DeployContainer.java:153)
	at com.caucho.server.host.HostContainer.start(HostContainer.java:504)
	at com.caucho.server.resin.ServletServer.start(ServletServer.java:971)
	at com.caucho.server.deploy.DeployController.startImpl(DeployController.java:621)
	at com.caucho.server.deploy.AbstractDeployControllerStrategy.start(AbstractDeployControllerStrategy.java:56)
	at com.caucho.server.deploy.DeployController.start(DeployController.java:517)
	at com.caucho.server.resin.ResinServer.start(ResinServer.java:551)
	at com.caucho.server.resin.Resin.init(Resin.java)
	at com.caucho.server.resin.Resin.main(Resin.java:625)
 
 
--------------------------------------------------------------------------------
Resin Professional 3.0.23 (built Mon, 22 Jan 2007 02:25:17 PST)

Tags: , ,

JDBC事务隔离级别和db2中几个隔离级别行锁等

星期六, 八月 1st, 2009 | Database, JAVA-and-J2EE | 7 Comments

聊记下对应的事务处理问题 ———工作中头疼的事务拆分,降低事务的–文字简介–

JDBC的数据隔离级别设置:
JDBC 数据库隔离级别 数据访问情况
TRANSACTION_READ_UNCOMMITTED ur 就是俗称“脏读”(dirty read),在没有提交数据时能够读到已经更新的数据
TRANSACTION_READ_COMMITTED cs 在一个事务中进行查询时,允许读取提交前的数据,数据提交后,当前查询就可以读取到数据。update数据时候并不锁住表
TRANSACTION_REPEATABLE_READ rs 在一个事务中进行查询时,不允许读取其他事务update的数据,允许读取到其他事务提交的新增数据
TRANSACTION_SERIALIZABLE rr 在一个事务中进行查询时,不允许任何对这个查询表的数据修改。

JDBC事务隔离级别
为了解决与“多个线程请求相同数据”相关的问题,事务之间用锁相互隔开。多数主流的数据库支持不同类型的锁;因此,JDBC API 支持不同类型的事务,它们由 Connection 对象指派或确定。在 JDBC API 中可以获得下列事务级别:
› Continue reading

Tags: , , , ,

db2频现“锁等待”或“911”错误–案例分析之原因及处理方法

星期日, 七月 26th, 2009 | Database, JAVA-and-J2EE | 没有评论

为什么db2频现“锁等待”或“911”错误
—开始以为911不会引发什么严重的问题,然事实上情况要比我想象的严重,不单纯是拆除事务的原因了,要处理对应的信息了,下列的分析对自己有很大帮助,特此摘录,也感谢撰写本文的原作者。
——————以下为摘录——————————————————————————
大家都知道,多个事务同时更新同一个数据行时必定要发生锁等待。虽然这个是造成锁等待或锁超时的原因,但不是全部。有不少同事在开发过程中发现这样的问题:自己只做一个根据主键update语句,就更新一行,且确知没有别人在更新这行,为什么语句迟迟没反应,想死锁了一样。本人通过几次尝试和试验发现了“秘密”。即db2的严重影响并发性能的地方:

1、无索引,relation scan 锁等待;
2、有索引,update时索引不能并发访问,需“串行”独占访问;
3、锁升级,行锁升级为表锁,阻塞其他事务的行级更新。

试验环境:
db2 v8系列或v9.1.4
db2命令行
› Continue reading

Tags: , , ,

jsp中response.sendRedirect引发的异常之解决方法

星期三, 六月 17th, 2009 | JAVA-and-J2EE | 一条评论

前几天的一个异常让人头疼,从网上查找也不得其法,后自己一看,原来是filter引发的转向错误!
解决方法很简单:
只要把转向的注释掉,让它自己转向就可以了,其他的事情交给filter去处理就可以了,就是两面都处理引发次问题!
if(user==null){
//response.sendRedirect(request.getContextPath()+”/index.jsp”);
return;
}
异常信息如下:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:410)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.i5a6.filter.ToBuildFilter.doFilter(ToBuildFilter.java:27)
root cause

java.lang.IllegalStateException
org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
org.apache.jsp.users.payment.star_005fplus_005fwarehouse_jsp._jspService(star_005fplus_005fwarehouse_jsp.java:70)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
com.i5a6.filter.ToBuildFilter.doFilter(ToBuildFilter.java:27)

Tags: , , ,

db2, oracle和sqlserver,mysql取前几行的各自独自语法

星期六, 五月 16th, 2009 | Database, JAVA-and-J2EE | 2 Comments

常用的四种数据库的取前几行的sql语句如下: 以前比较不熟悉的是db2,现在天天用,也感觉不错了
db2:
SELECT * ROW_NUMBER() OVER(ORDER BY COL1 DESC) AS ROWNUM WHERE ROWNUM<=10 或者 select * from tab fetch first 10 rows only oracle: select * from tab where rownum <=10 sqlserver: select top 10 * from tab mysql: select * from tab limit 10

Tags: , , , ,

基于ajax的聊天室的小型模板,采用JSON格式;后台为jsp

星期三, 三月 11th, 2009 | ajax, JAVA-and-J2EE | 2 Comments

这个小型应用中包含了几个非常常用的处理方式,对纯粹手工写个ajax应用有一定的帮助,留个方便自己以后直接小型应用(非框架版)代码如下:

数据库的表是mysql的:如下

1
2
3
4
5
6
CREATE TABLE 'chatmessage'(
'id' int(11) NOT NULL auto_increment,
'username' varchar(255) NOT NULL,
'message' text,
PRIMARY KEY('id')
)

› Continue reading

Tags: ,

jboss-5.0.0.GA在myeclipse6.5中配置启动错误处理和对应web端口的修改

星期一, 二月 23rd, 2009 | JAVA-and-J2EE | 没有评论

今天下了jboss-5.0.0.GA的正式版,在myeclips6.5中配置启动,报出下列异常:

WARN  [ClassLoaderManager] Unexpected error during load of:org.jboss.resource.metadata.repository.DefaultJCAMetaDataRepository

java.lang.UnsupportedClassVersionError: Bad version number in .class file

 at java.lang.ClassLoader.defineClass1(Native Method)

再看控制台的java版本的输出:23:27:19,203 INFO  [ServerInfo] Java version: 1.5.0_14,Sun Microsystems Inc.

23:27:19,203 INFO  [ServerInfo] Java VM: Java HotSpot(TM) Client VM 1.5.0_14-b03,Sun Microsystems Inc.

原来是jdk的版本不对升级自己电脑上的jdk到6.0,在指定jboss的jdk路径就能正常启动了;

在eclipse中配置新的jre(实际上是jdk):

流程:Window—–>Preferences—–>Java—->Installed JRES 然后选择新增 只是JRE home directory 选择的是jdk6.0的路径,选择jre不对的;如图

图片看不清,可点击查看,支持滚轮缩放….

installjre6.0

2.在jboss的jdk选择下选你刚才建的如图:

图片看不清,可点击查看,支持滚轮缩放….

› Continue reading

Tags:

Search

文章分类

Links

Meta