上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 34 下一页
摘要: 上一篇我们知道了消息驱动Bean的基本用法,实际大型分布式企业应用中,往往会采用高性能的商业Queue产品,比如IBM Webshpere MQ(目前最新版本是7.5 ),下面讲解下如何在Jboss EAP 6.2 版本上整合Webshpere MQ 7.5一、修改jboss的standalone-full.xmla) 添加IBM的resource-adapters找到 改成下面这样(注:里面的参数值,大家根据实际情况,自行修改) 1 2 3 4 5 wmq.jmsra.rar 6 ... 阅读全文
posted @ 2014-02-25 12:26 菩提树下的杨过 阅读(2607) 评论(0) 推荐(0) 编辑
摘要: 博客的背影音乐《Traveling Light》 阅读全文
posted @ 2014-02-24 12:56 菩提树下的杨过 阅读(7351) 评论(17) 推荐(7) 编辑
摘要: 上一篇已经知道了JMS的基本操作,今天来看一下ejb3中的一种重要bean:Message Drive Bean(mdb)如果要不断监听一个队列中的消息,通常我们需要写一个监听程序,这需要一定的开发量,而且如果要实现高并发处理,也不易扩展,而MDB则自动实现了该功能,简单点讲,MDB的应用部署到jboss后,能自动监听目标队列,一旦有消息接收,会触发onMessage事件,开发人员可以在该事件处理中扩展自己的业务逻辑.一、定义一个MDB 1 package mdb; 2 3 4 5 import javax.ejb.ActivationConfigProperty; 6 import j... 阅读全文
posted @ 2014-02-23 20:23 菩提树下的杨过 阅读(2170) 评论(2) 推荐(0) 编辑
摘要: 详细讲解maven中如何搭建nexus私服 阅读全文
posted @ 2014-02-23 18:01 菩提树下的杨过 阅读(42840) 评论(3) 推荐(15) 编辑
摘要: 阅读全文
posted @ 2014-02-22 22:05 菩提树下的杨过 阅读(863) 评论(0) 推荐(0) 编辑
摘要: .Net中如果需要消息队列功能,可以很方便的使用微软自带的MSMQ,对应到Java中,这个功能就是JMS(Java Message Service). 下面以Jboss EAP 6.2环境,介绍一下基本的用法:JMS有二种基本的使用模式,一种是点对点模式(即“一条”消息只能从“一个”发送方传输到“一个”接收方) - 这种模式下,发送方、接收方不必同时在线,消息在未取回走,一直存放在队列中。另一种是发布/订阅模式,即一条消息(该模式下,称为“主题”),被一个发送方发送后,如果有多个接收方订阅了,这些接收方都能收到消息 - 这种模式下,发布者和订阅都必须同时在线,否则接收不到消息。本文主要演示“点 阅读全文
posted @ 2014-02-22 14:09 菩提树下的杨过 阅读(5275) 评论(2) 推荐(2) 编辑
摘要: 本文详细讲解了如何安装cent os 6.5 minimal,以及如何在cent os上安装Oracle XE 11g r2、Jboss EAP 6.2、Weblogoc 12c、IBM Webshpere MQ 7.5 阅读全文
posted @ 2014-02-16 09:47 菩提树下的杨过 阅读(5120) 评论(2) 推荐(1) 编辑
摘要: 在mac机上玩基于oracle db的开发真心不容易,oracle公司死活不出oracle express edition for mac OS,曾经发布过的oracle 10 for mac下载地址也从官网撤下了,无奈只能在mac 机安装了一台windows虚拟机,把oracle XE安装在虚拟机里,发现从mac os 主机始终连接不到虚拟机中的oracle,但虚拟机与主机互ping都能通,也能相互访问共享文件夹。网上搜索了一圈,发现在windows虚拟机里,添加Microsoft Lookback Adapter网卡后,一切正常!另外,从windows虚拟机里如果无法远程连接其它服务器,也 阅读全文
posted @ 2014-01-27 21:06 菩提树下的杨过 阅读(4013) 评论(0) 推荐(0) 编辑
摘要: Oracle Express Edition(XE)默认的http端口是8080,这跟JBoss/Tomcat的默认端口相同,导致Jboss启动冲突。修改办法:1. 以dba身份登录XE2. 执行下列语句1 begin2 dbms_xdb.sethttpport('7000');3 dbms_xdb.setftpport('0');4 end;5 /这样就把默认的8080端口改成7000了,不用重启oracle服务,即时生效!3.修改下面二个internet快捷方式(位于oraclexe安装目录的product\11.2.0\server下)X:\oraclex 阅读全文
posted @ 2014-01-27 14:08 菩提树下的杨过 阅读(13329) 评论(1) 推荐(5) 编辑
摘要: JAX-RS(Java API for RESTful Web Services)同样也是JSR的一部分,详细规范定义见 https://jcp.org/en/jsr/detail?id=311。从JAVA EE 6开始,已经内置了该技术,跟.NET中的RESTful WCF类似,只要在常规方法上使... 阅读全文
posted @ 2014-01-26 16:11 菩提树下的杨过 阅读(58635) 评论(19) 推荐(8) 编辑
摘要: JAXB(Java Architecture for XML Binding)是JDK的一部分,用于Object XML的转换(有点类似于.NET中的XML序列化)。1、创建XSD可以使用任何工具生成XSD工具,比如XMLSPY。eclipse也提供了相关的jaxb插件,File -> New -> XML Schema File文件命名为order.xsd,eclipse中也提供了xsd可视化编辑工具当然,你要是很NB,对xsd结构倒背如流的话,完全也可以纯手写。 1 2 3 4 5 6 Comment describing you... 阅读全文
posted @ 2014-01-24 13:34 菩提树下的杨过 阅读(8562) 评论(0) 推荐(1) 编辑
摘要: 以下示例,由jboss quickstart示例代码得来:一、创建一个常规的dynamic web项目,建议支持maven ,项目的关键属性参考下图:二、定义服务接口及参数对象HelloWorldService 1 package org.jboss.as.quickstarts.wshelloworld; 2 3 import java.util.List; 4 5 import javax.jws.WebMethod; 6 import javax.jws.WebService; 7 8 9 10 @WebService(targetNamespace = "http://www 阅读全文
posted @ 2014-01-23 17:16 菩提树下的杨过 阅读(3943) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,jboss启动时,使用的时区是“+0:00”区,而中国所在的时间为"+8:00"区(所谓的东8区),最终java取当前时间时,总比北京时间慢8个小时解决办法:新建一个环境变量JAVA_OPTS,值为:-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxP... 阅读全文
posted @ 2014-01-23 16:55 菩提树下的杨过 阅读(1080) 评论(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 菩提树下的杨过 阅读(16641) 评论(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 菩提树下的杨过 阅读(1420) 评论(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 菩提树下的杨过 阅读(2519) 评论(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 菩提树下的杨过 阅读(7844) 评论(0) 推荐(0) 编辑
摘要: 在上一节中,我们已经知道了如何用@Inject实现基本注入,这一节研究Bean实例注入后的“生命周期”,web application中有几种基本的生命周期(不管哪种编程语言都类似)1、Application 生命周期即:web application启动后,处于该生命周期级别的对象/变量,将一直存在,可以被所有web应用的用户共同访问,通常用来做网站计数器,实现流量访问之类。直到web 应用停止或重新启动,该对象才被销毁。简单来说:只要web application处于激活状态,不论你换什么浏览器,不论你是否关闭页面,这个对象都会一直存在。2、Session 生命周期每次我们在某种类型的浏览 阅读全文
posted @ 2014-01-16 16:44 菩提树下的杨过 阅读(8341) 评论(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 菩提树下的杨过 阅读(87787) 评论(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 菩提树下的杨过 阅读(48359) 评论(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 菩提树下的杨过 阅读(10761) 评论(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 菩提树下的杨过 阅读(853) 评论(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 菩提树下的杨过 阅读(3940) 评论(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 菩提树下的杨过 阅读(61648) 评论(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 菩提树下的杨过 阅读(236732) 评论(21) 推荐(39) 编辑
摘要: 一、设置环境变量1、打开终端,输入 cd ~2、输入 touch .bash_profile (如果该文件不存在,将创建一个空文件)3、输入 open .bash_profile (调用记事本编辑该文件)注:mac系统本质是linux,因此linux设置环境变量的办法,通常也适用于mac. 一般来讲... 阅读全文
posted @ 2013-12-28 20:43 菩提树下的杨过 阅读(8750) 评论(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 菩提树下的杨过 阅读(1389) 评论(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 菩提树下的杨过 阅读(38091) 评论(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 菩提树下的杨过 阅读(5145) 评论(10) 推荐(0) 编辑
摘要: 很早以前看过一句话:“XML就象空气”,在企业应用开发中XML是一个重要的数据交换标准。而XSD则可以用来校验XML的数据格式是否正确。一个典型的XSD文件如下: 1 2 3 4 5 6 运单 7 8 9 10 11 12 13 14 15 ... 阅读全文
posted @ 2013-11-16 08:45 菩提树下的杨过 阅读(10148) 评论(0) 推荐(0) 编辑
摘要: 不知道大家有没有这样的经历:现场实施时测试出一个bug,明明知道某个dll/exe文件只要修改一二行代码即可,但手头没有开发环境,紧急情况下,可以用reflector + reflexil 临时直接修改dll代码,然后重编译,替换原来的文件(当然:代码未混淆的情况下,这个也可以用来搞破解,这不在本文讨论之列)步骤:1、Relector 加载相关的dll后,启用Reflexil界面2、找到需要修改的代码位置,然后参考下图,右击->Replace all with code3、写新的代码然后点击Complete重新编译、OK按钮关闭按钮4、在dll或exe上,右击->Save as 另 阅读全文
posted @ 2013-11-06 10:20 菩提树下的杨过 阅读(20466) 评论(7) 推荐(4) 编辑
摘要: Unity是微软在CodePlex上的一个开源项目,可用于依赖注入、控制反转,类似Spring,下面是使用示例:1.先来定义几个接口、类1 namespace UnityTest2 {3 public interface IRun4 {5 void Run();6 }7 }View Code : IRun1 namespace UnityTest2 {3 public class Pet4 {5 public string Name { set; get; }6 }7 }View Code : Pet 1 usin... 阅读全文
posted @ 2013-11-04 16:43 菩提树下的杨过 阅读(3114) 评论(0) 推荐(0) 编辑
摘要: 初步接触MyBatis.Net的朋友,请先移步 MyBatis.Net 学习手记1. 项目中先添加Oracle.ManagedDataAccess.dll程序集引用2. MyBatis.Net 中Providers.config文件修改 1 tips:a) assemblyName类型不知道如何填写的,可通过类似 Assembly.LoadFile(@"D:\soft\ODP.NET_Managed121010\odp.net\managed\common\Oracle.ManagedDataAccess.dll").FullName获得b)name,description 阅读全文
posted @ 2013-11-01 10:40 菩提树下的杨过 阅读(3582) 评论(1) 推荐(1) 编辑
摘要: “ODP.NET Managed”发布已经有一段时间了,近期正好有一个新项目,想尝试用一下,参考园子里的文章:《.NET Oracle Developer的福音——ODP.NET Managed正式推出》到Oracle官网 下载 ODP.NET_Managed121010.zip 大约1.9M,解压后目录结构如下:核心的dll,就是common目录下的Oracle.ManagedDataAccess.dll,不象ODP.NET以前的版本,这次终于不用区分x86/x64版本了,不管是32位还是64位,都是同一个dll。至于manged/x64、managed/x86这二个目录,是用来向.NET 阅读全文
posted @ 2013-11-01 10:00 菩提树下的杨过 阅读(38773) 评论(15) 推荐(3) 编辑
摘要: 实际开发中,对于一些耗时较长的操作,我们往往会将其封装成异步方式调用,以加速系统响应或改善用户体验,下面是一个示例:有一个现成的类MyMath,里面有一个Add方法: 1 public class MyMath 2 { 3 4 public int Add(int a, int b) 5 { 6 System.Threading.Thread.Sleep(5000); 7 return a + b; 8 } 9 10 }对Add方法做下封装,对了对比,同时提供“同步调用”与... 阅读全文
posted @ 2013-10-29 22:36 菩提树下的杨过 阅读(7384) 评论(1) 推荐(1) 编辑
摘要: 1、修改core-site.xml,配置hdfs 1 2 3 fs.default.name 4 hdfs://localhost:9000 5 6 7 hadoop.tmp.dir 8 /home/jimmy/Desktop/tmp 9 10 注:a) fs.def... 阅读全文
posted @ 2013-10-21 16:09 菩提树下的杨过 阅读(3923) 评论(0) 推荐(0) 编辑
摘要: 一、虚拟机上安裝ubuntun 13.04 中文版当然,你要是习惯看英文版,也可以直接安装英文版。老老实实从官网下载安装即可,安装系统不是本文的重点。这里只提一个注意事项:新手安装前,切记断网,因为安装过程中会联网下载,默认情况下连接的是美国的服务器,如果网速慢,这一步就可能会耗费几个小时。断网后,... 阅读全文
posted @ 2013-10-19 20:50 菩提树下的杨过 阅读(3004) 评论(0) 推荐(0) 编辑
摘要: 添加wcf服务引用时,vs.net本来就会帮我们在app.config/web.config里生成各种配置,这没啥好研究的,但本文谈到的配置并不是这个。先看下面的图:通常,如果采用.NET的WCF技术来架构SOA风格的应用,我们会把项目做一些基本的分层,如上图:01. contract层:通常定义服务的接口(即服务契约ServiceContract,指明该服务提供了哪些方法可供外部调用)、以及接口方法中传输的Model定义(即:数据契约DataContract,指明方法中的对象参数的Class定义)02. implementation层:即服务接口的实现03. host层:wcf最终需要一个宿 阅读全文
posted @ 2013-10-16 16:06 菩提树下的杨过 阅读(3354) 评论(0) 推荐(0) 编辑
摘要: 这是数据库开发中经常遇到的问题,当然,这可以用现成的ORM框架来解决,但有些时候,如果DataSet/DataTable是第三方接口返回的,ORM就不方便了,还得自己处理。反射自然必不可少的,另外考虑到DataTable中的ColumnName通常与Model的PropertyName并不严格对应,可以用Attribute来记录这种映射关系。步骤1:先创建一个DataFieldAttribute类 1 using System; 2 3 namespace Jimmy.ORM 4 { 5 [AttributeUsage(AttributeTargets.Property)] 6 ... 阅读全文
posted @ 2013-10-15 17:00 菩提树下的杨过 阅读(8362) 评论(0) 推荐(3) 编辑
摘要: MyBatis.NET的前身为IBatis,是JAVA版MyBatis在.NET平台上的翻版,相对NHibernate、EntityFramework等重量级ORM框架而言,MyBatis.NET必须由开发人员手动写SQL,相对灵活性更大,更容易保证DB访问的性能,适用开发团队里有SQL熟手的场景。下面是使用步骤:1、到官网http://code.google.com/p/mybatisnet/下载相关dll和文档Doc-DataAccess-1.9.2.zip Doc-DataMapper-1.6.2.zip IBatis.DataAccess.1.9.2.bin.zip IBatis.Da 阅读全文
posted @ 2013-10-10 22:22 菩提树下的杨过 阅读(28868) 评论(24) 推荐(7) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 34 下一页