随笔分类 -  15.Java/Scala

摘要:默认情况下,jboss启动时,使用的时区是“+0:00”区,而中国所在的时间为"+8:00"区(所谓的东8区),最终java取当前时间时,总比北京时间慢8个小时解决办法:新建一个环境变量JAVA_OPTS,值为:-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxP... 阅读全文
posted @ 2014-01-23 16:55 菩提树下的杨过 阅读(1091) 评论(0) 推荐(0) 编辑
摘要:JPA(Java Persistence API)是JSR(Java Specification Requests)的一部分,定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate、TopLink等。下面的示例程序是在jboss quickStart的基础上修改而来的1、实体Bean:Member类 1 package org.jboss.as.quickstart.hibernate4.model; 2 3 import java.io.Serializable; 4 5 import javax.persistence.Column; 6 import javax.p.. 阅读全文
posted @ 2014-01-23 13:32 菩提树下的杨过 阅读(16654) 评论(5) 推荐(1) 编辑
摘要:默认情况下,hibernate/JPA 在server.log中记录的SQL语句,参数都是用?代替的,这样不太方便. 网上留传的p6spy在最新的jboss上(EAP 6.0+版本)貌似已经不起作用了(至少我没弄成功过)幸好,Jboss已经自带了jdbc监控功能,开启步骤如下:1、standalone.xml中增加1 2 3 View Code 2、所有的DataSouce节点上,增加spy="true",参考下面这样:1 2 jdbc:oracle:thin:@localh... 阅读全文
posted @ 2014-01-22 12:16 菩提树下的杨过 阅读(1426) 评论(0) 推荐(0) 编辑
摘要:前面几节学习到的CDI内容,基本上都是hard-code,以硬编码的方式在代码里指定注入类型,这并非依赖注入的本意,依赖注入的优势之一在于“解耦”,这一节我们将学习如何利用配置来动态注入的类型及属性初始化。一、@Alternative/@Default/@Any当一个服务接口(也称契约)有多个实现时,可以在代码里指定一个缺省的实现类型(即:标注成@Default或@Any),其它实现类标注成@Alternative,以后如果需要动态切换实现类,只要在webapp/WEB-INF/beans.xml中配置即可。1.1 新建二个示例接口1 package contract;2 3 public i 阅读全文
posted @ 2014-01-19 21:43 菩提树下的杨过 阅读(2557) 评论(2) 推荐(0) 编辑
摘要:上一节学习了注入Bean的生命周期,今天再来看看另一个话题: Bean的生产(@Produces)及销毁(@Disposes),这有点象设计模式中的工厂模式。在正式学习这个之前,先来看一个场景:基于web的db应用开发中,经常要在一个页面上连接db,然后干点啥,最后关闭连接。下面用之前二节前到的CDI技能来演练一下:1、先建一个Connection的接口 1 package conn; 2 3 public interface Connection { 4 5 void connect(); 6 7 void closeConnection(); 8 ... 阅读全文
posted @ 2014-01-18 11:47 菩提树下的杨过 阅读(7904) 评论(0) 推荐(0) 编辑
摘要:在上一节中,我们已经知道了如何用@Inject实现基本注入,这一节研究Bean实例注入后的“生命周期”,web application中有几种基本的生命周期(不管哪种编程语言都类似)1、Application 生命周期即:web application启动后,处于该生命周期级别的对象/变量,将一直存在,可以被所有web应用的用户共同访问,通常用来做网站计数器,实现流量访问之类。直到web 应用停止或重新启动,该对象才被销毁。简单来说:只要web application处于激活状态,不论你换什么浏览器,不论你是否关闭页面,这个对象都会一直存在。2、Session 生命周期每次我们在某种类型的浏览 阅读全文
posted @ 2014-01-16 16:44 菩提树下的杨过 阅读(8409) 评论(0) 推荐(0) 编辑
摘要:晚上把oracle自带的weblogic给卸载了,然后打开eclipse,发现报错了:Error: could not open `C:\Java\jre7\lib\amd64\jvm.cfg'JAVA_HOME的环境变量值根本不是这个目录,到CMD命令窗口下,用echo %JAVA_HOME%,也 阅读全文
posted @ 2014-01-15 21:24 菩提树下的杨过 阅读(87887) 评论(5) 推荐(4) 编辑
摘要:CDI(Contexts and Dependency Injection 上下文依赖注入),是JAVA官方提供的依赖注入实现,可用于Dynamic Web Module中,先给3篇老外的文章,写得很不错1、Java EE CDI Dependency Injection (@Inject) tutorial2、Java EE CDI Producer methods tutorial3、Java EE CDI bean scopes此外,还有jboss官方的参考文档:http://docs.jboss.org/weld/reference/latest/en-US/html/如果不想啃洋文, 阅读全文
posted @ 2014-01-15 16:36 菩提树下的杨过 阅读(48519) 评论(0) 推荐(5) 编辑
摘要:最近在学习EJB 3,对于SSH与EJB3,一直不太明白“即生瑜,何生亮?”,今天无意看到一篇旧文,比较系统的对比了这二种技术架构,转载于此:原文出处:http://www.51cto.com/specbook/223/46090.htm-------------------------------------------------------------------作为一个架构师,我对EJB是既爱且恨,对Spring又恨又爱,现在我们来也把这两大技术体系来做一个全面分析和对比,希望能给大家在进行技术选型时一个更好的参考。1.法制 VS “民主”EJB规范一直由国际组织JCP来制定,一经通过 阅读全文
posted @ 2014-01-14 09:20 菩提树下的杨过 阅读(10776) 评论(1) 推荐(0) 编辑
摘要:一句话:%jboss_home%\bin>standalone.bat -Djboss.bind.address=0.0.0.0也可以直接编辑standalone.xml,将里面所有127.0.0.1,批量替换成0.0.0.0或本机真实IP 阅读全文
posted @ 2014-01-09 10:08 菩提树下的杨过 阅读(865) 评论(0) 推荐(1) 编辑
摘要:网上有一些文章介绍用JavaService.exe来实现,但是到EAP 6以上版本,我试过好象没成功,幸好JBoss官方已经推出了专门的工具。一、先到官网下载http://www.jboss.org/jbossweb/downloads/jboss-native-2-0-10.html合适的版本二、将下载到的压缩包,全部解压到%JBOSS_HOME%\bin 下三、修改service.bat3.1 下面几项随便填写,是安装后的Windows服务信息 a)SVCNAME = JBAS50SVC #这是安装服服务后服务名(我一般习惯改成JBoss) b)SVCDISP = JBoss Applic 阅读全文
posted @ 2014-01-08 17:51 菩提树下的杨过 阅读(3951) 评论(0) 推荐(1) 编辑
摘要:一、下载7.5 Trial版本http://www.ibm.com/developerworks/downloads/ws/wmq/这是下载网址,下载前先必须注册IBM ID,下载完成后一路Next即可(注:windows上安装时,会询问是否域环境,初次学习时,为简单起见,建议选择No)安装完成后,MQ的Bin目录会自动添加到环境变量Path中,以后就可以直接用Dos命令行窗口操作(当然,也可以用图形化GUI方式通过IBM WebSphere MQ Explorer来管理)注:安装时,强烈建议用管理员Administrator身份安装,否则安装完成后,有可能license无法生效、runmqs 阅读全文
posted @ 2014-01-04 21:32 菩提树下的杨过 阅读(61815) 评论(3) 推荐(4) 编辑
摘要:一、下载及安装1.1 下载maven 3.1.1先到官网http://maven.apache.org/download.cgi下载最新版本(目前是3.1.1),下载完成后,解压到某个目录(本文中是C:\Java\maven-3.1.1)2.1 配置环境变量系统环境变量里,添加MAVEN_HOME(... 阅读全文
posted @ 2014-01-01 21:41 菩提树下的杨过 阅读(236914) 评论(21) 推荐(39) 编辑
摘要:一、设置环境变量1、打开终端,输入 cd ~2、输入 touch .bash_profile (如果该文件不存在,将创建一个空文件)3、输入 open .bash_profile (调用记事本编辑该文件)注:mac系统本质是linux,因此linux设置环境变量的办法,通常也适用于mac. 一般来讲... 阅读全文
posted @ 2013-12-28 20:43 菩提树下的杨过 阅读(8770) 评论(0) 推荐(0) 编辑
摘要:package jimmy;import java.io.*;import java.util.Properties;public class Program { public static void main(String[] args) { String appTitle = "app_title"; String appVersion = "app_version"; String appProperties = "app.properties"; Properties settings = new Properties();. 阅读全文
posted @ 2013-11-28 20:34 菩提树下的杨过 阅读(1394) 评论(3) 推荐(0) 编辑
摘要:java中的匿名类有一个倍儿神奇的用法,见下面代码示例:1 package contract;2 3 public interface ISay {4 void sayHello();5 }上面是一个简单的接口,下面是如何使用: 1 package jimmy; 2 import contract.ISay; 3 public class Program { 4 public static void main(String[] args) { 5 ISay say = new ISay() { 6 public voi... 阅读全文
posted @ 2013-11-28 19:40 菩提树下的杨过 阅读(38148) 评论(1) 推荐(10) 编辑
摘要:java与c#都支持反射,但是从网络上搜索两大阵营对于反射的态度,基本上.net开发人员都建议慎用反射,因为会有性能开销;反到是java阵营里好象在大量肆无忌惮的使用反射。于是写了下面的测试代码:c#版的:二个project,如上图,Model项目中就只有一个实体类Person,代码如下: 1 using System; 2 3 namespace Model 4 { 5 public class Person 6 { 7 private int Add(object i,object j) 8 { 9 return (... 阅读全文
posted @ 2013-11-26 16:10 菩提树下的杨过 阅读(5171) 评论(10) 推荐(0) 编辑
摘要:一、虚拟机上安裝ubuntun 13.04 中文版当然,你要是习惯看英文版,也可以直接安装英文版。老老实实从官网下载安装即可,安装系统不是本文的重点。这里只提一个注意事项:新手安装前,切记断网,因为安装过程中会联网下载,默认情况下连接的是美国的服务器,如果网速慢,这一步就可能会耗费几个小时。断网后,... 阅读全文
posted @ 2013-10-19 20:50 菩提树下的杨过 阅读(3011) 评论(0) 推荐(0) 编辑
摘要:前提:本机先安装好JDK,保证常规java环境已经具备1、下载Tomcat 7.0现在官网上好象已经没有安装程序版了,只有免解压zip版本(现在最新的版本是7.0.42)下载地址 http://tomcat.apache.org/download-70.cgi 下载后,解压到某个目录 比如 C:\software\tomcat-7.0.422、添加系统环境变量a) 增加环境变量 CATALINA_HOME ,值为 C:\software\tomcat-7.0.42b) CLASSPATH 环境变量值最后加 ;C:\software\tomcat-7.0.42\lib3、启动Tomcat\tom 阅读全文
posted @ 2013-08-01 09:54 菩提树下的杨过 阅读(1807) 评论(0) 推荐(0) 编辑
摘要:java.util.Date下的很多(构造)方法,已经被标识为"过时"方法,官方推荐使用Calendar类来处理日期的运算,下面是示例: 输出结果: 当前时间:2013-02-21 09:40:49减1年:2012-02-21 09:40:49再加3个月:2012-05-21 09:40:49再加1 阅读全文
posted @ 2013-02-21 09:43 菩提树下的杨过 阅读(7978) 评论(0) 推荐(1) 编辑