`
yingfang05
  • 浏览: 122947 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
文章列表
1. 取消接口          EJB Container 直接公布java Bean的Public方法,客户端使用通过@EJB 注入。      2. 引入Singleton sinession bean.           通过@Singleton标记该Session Bean为Singleton。在该Container只有一例。           对于Singleton Session Bean的并行访问问题,有两种控制机制CMC(Container-managed concurrency) 容器管理的并行机制和          BMC(Bean-managed concurre ...
Spring支持标准的JDO 1.0/2.0 API作为数据访问策略,同样遵循类似于Spring对Hibernate的支持风格。对应的支持与整合类位于 org.springframework.orm.jdo 包中。 建立PersistenceManagerFactory Spring提供了一个 LocalPersistenceManagerFactoryBean 类,允许你通过Spring的application context来定义一个本地的JDO PersistenceManagerFactory: <beans>   <bean id="myPmf&q ...
记录转换 对JCA CCI支持的一个目标是提供方便的机制来操作CCI记录。 开发人员可以通过使用Spring的 CciTemplate 来指定创建记录并从记录中提取数据的策略。 如果你不想在应用程序中直接操作记录,可以使用下面的接口来配置用于输入输出记录的策略。 为了创建一个输入 Record,开发人员可以使用 RecordCreator 接口的一个特定实现。 public interface RecordCreator { Record createRecord(RecordFactory recordFactory) throws ResourceException, DataAcce ...
使用JAX-RPC暴露基于servlet的web服务 Spring为JAX-RPC servlet的端点实现提供了一个方便的基类 - ServletEndpointSupport. 未来暴露我们的 AccountService我们扩展Spring的ServletEndpointSupport类并在这里实现了我们的业务逻辑,通常将调用交给业务层。 /** * JAX-RPC compliant RemoteAccountService implementation that simply delegates * to the AccountService implementation in th ...
在Spring框架中,iBatis的支持很类似JDBC或者Hibernate的支持,因为它和JDBC或Hibernate一样支持相同的模板式编程, iBatis的支持能与Spring的异常体系一起工作并让你享用所有Spring的Ioc特点。 事务管理可以由Spring标准机制进行处理。对于iBATIS来说没有特别的事务策略,除了JDBC Connection 以外,也没有特别的事务资源。因此,Spring 标准的JDBC DataSourceTransactionManager 或者 JtaTransactionManager 已经能够完全足够了。 注意 Spring的确支持iBatis的1 ...
除了使用标准的转换器之外,您还可以自行定制您的转换器,您可以实作javax.faces.convert.Converter接口,这个接口有两个要实作的方法: public Object getAsObject(FacesContext context,                            UIComponent component,                            String str); public String getAsString(FacesContext context,                            UICompone ...
EJB QL中富有大量的查询语句并且基本上能符合你的绝大多数的查询需求.有时,你想要使用特定厂商提供的数据库上的专有能力. 实体管理服务提供了一个方法来建立原生的SQL查询并且映射他们到你的对象上.原生查询能反回实体,栏位值,或者两者的组合.EntityManager接口有三种方法来建立原生查询:一种返回标量值,一种是返回实体类型,最后一种是定义一个复杂的结果集,它能映射到多个实体的混合和标量值. 你可以进行JDBC的连接通过javax.sql.DataSource,使用@Resource注入和执行你的SQL语句.要意识到你所做的改变不会被当前的持久化上下文所反映. 标量原生查询 Query ...
Component可以将译码、编码的动作交给Renderer,这让您的表现层技术可以轻易的抽换,我们可以将之前的自定义组件的译码、编码动作移出至 Renderer,不过由于我们之前设计的Component是个很简单的组件,事实上,如果只是要新增一个Command在输入字段旁边,我们并不需要大费周章的自定义一个新的组件,我们可以直接为输入字段更换一个自定义的Renderer。 要自定义一个Renderer,您要继承javax.faces.render.Renderer,我们的自定义Renderer如下: TextCmdRenderer.java package onlyfun.caterpill ...
参与到事务中的实体管理就像其它资源一样.我们在这本书中可以看到例子.扩展的持久化上下文有很多有趣的事务行为你可以使用.允许你调用EntityManager的操作,像persist( ), merge( ), 和remove( )在一个事务外当你与一个扩展的持久化上下文交互时.那些插入,更新,和删除排队直到扩展持久化上下文支持一个活动的事务和提交.换句话来讲,数据库不被涉及直到持久化上下文变成关联一个事务时.同时,任何被运行的查询不被保存到数据库中连接在他们完成之后.让我们看这样的一个例子. 1 EntityManager manager =           entityManagerFact ...
我们要怎样才能解决并发问题呢?一种方式是使用乐观锁设计模式.乐观锁并不是把所有的传统的感觉锁在里面.它在bookPassage( ) 方法下工作,我们假设没有其它的用户在相同时间里预定相同的Cabin.那么,在时务提交时,我们让数据库决定是否Cabin被预定.如果被预定,我们抛出一个异常并回滚事务.换句话来说,我们是乐观的,那么没有其它的用户来预定相同的Cabin.这如何运作? 这如何避免表级锁? 好吧,为了使用乐观锁,我们必需把泰坦预定系统稍做修改和使用Java持久化的特殊功能. 我们需要做的第一件事是创建一个新的实体类保存关于一个指定巡航上指定小屋的信息.让我们调用这个新的实体类Cruis ...
拦截器的异常处理简单而有力.因为拦截器在组件方法的Java调用栈或回调被调用,你可以放置一个try/catch/finally块在InvocationContext.proceed( )方法的周围.你可以中断调用在它到达实际组件方法之前通过抛出一个异常在@AroundInvoke 或回调方法.你也可以允许捕获一个组件方法抛出异常和抛出一个不同的异常,或禁止异常.关于@AroundInvoke 拦截器,你甚至被允许重试组件方法调用在从组件方法捕获一个异常后.让我们看一些例子. 终止一个方法调用 参数确认是检查见到的业务方法的参数在以方法的逻辑着手进行有效值确认的业务逻辑.ProcessPaymen ...
你不仅能拦截EJB方法的调用,也可以拦截EJB生命周期事件.这些回调可以被用于初始化你的EJB组件类的状态,如同拦截器类本身.生命周期的拦截非常类似于@AroundInvoke 类型: @<callback-annotation> void <method-name>(InvocationContext ctx ...
虽然以JMS 为基础的MDB 已经证明非常有用, 它也有限制.也许最大的限制就 是EJB提供商支持仅一个或少数的JMS提供者(通常只有一个).在前面的EJB2.1 中,大多数厂商只支持他们自己的JMS提供者,并且没有其它的.显然,这样的限制 是你的选择:如果你的公司或公司的一部分使用一个JMS提供者,它不被EJB提供 商支持,你将不能够处理JMS提供者传递过来的消息. 绕过这个JMS通道,消息的路由从一个JMS提供者到另一个,这是一个EJB规范 外的一个习惯上的解决方法. 问题的本质是复杂的并且要求对事务管理有一个深入的理解.简言之,对于MDB, 消息被JMS提供者传递到MDB,并且所有的工作由 ...
TableModel类 <h:dataTable>可以列举以下几种类型的数据: 列表 java.util.List的实例 java.sql.ResultSet的实例 javax.servlet.jsp.jstl.sql.Result的实例 javax.faces.model.DataModel的实例 对于前四种类型,JSF实际上是以javax.faces.model.DataModel加以包装,DataModel是个抽象类,其子类都是位于 javax.faces.model这个package下: ArrayDataModel ListDataModel ResultDataModel ...
这个系列的文章是EJB3.1专家小组正在开发的下个版本JavaEE规范的预览。EJB3.0去掉了沉重的编程模型而带给Java EE 5一个更简单的编程环境。EJB3.1目标是在EJB3.0带来的成功之上,将简单开发深入下去并增加一些急需的特性。 在这第一篇文章中,我将涵盖已经讨论的很深入的两个特性——选择性的为EJBs和Singleton Bean创建接口。同时,我也将提到一些已经开始考虑的可能出现的新特性。记住,所有的这些都不是最终版本。 EJB 接口是可选择的 首先得一个改变是把Session Bean 接口变成可选的了——让EJBs真正像是POJOs——去掉了最后遗留的障碍。 基于接口的 ...
Global site tag (gtag.js) - Google Analytics