ejb

Client call to EJB error: javax.naming.NoInitialContextException

强颜欢笑 提交于 2020-04-30 08:45:31
问题 Calling my EJB from class Main: MyService myService = (MyService) ctx.lookup(MyService.class.getName()); Gives error: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313) at javax.naming.InitialContext

What's the default scope for a bean created by a @Produces method without a scope annotation?

荒凉一梦 提交于 2020-04-10 08:01:26
问题 I've got a method with a @Produces annotation that creates an Apple . When I use it with @ApplicationScoped like this public class AppleProducer { @ApplicationScoped @Produces public Apple createApple() { return new Apple(); } } then the Apple gets created only once for the whole application. When I use it with @RequestScoped like this public class AppleProducer { @RequestScoped @Produces public Apple createApple() { return new Apple(); } } then it gets created for every request. But what if

详解JNDI的lookup资源引用java:/comp/env

情到浓时终转凉″ 提交于 2020-04-07 13:54:32
ENC 的概念: The application component environment is referred to as the ENC, the enterprise naming context. 应用组件的业务逻辑应该是 ENC中取得对象。组件提供者使用标准的部署描述符指定必需的ENC入口。这些ENC入口是运行时组件所依赖的资源等信息。 一个应用组件实例使用 JNDI定位ENC。ENC的标准JNDI CONTEXT是:java;/comp/env // Obtain the application component's ENC Context iniCtx = new InitialContext(); Context compEnv = (Context) iniCtx.lookup("java:comp/env"); env 环 境是一个私有的环境,只能在该组件内部存取。对其它组件是不可见的。比如,EJB1不能存取EJB2的ENV。同样,任何一个客户端代码,不管它是运行在 应用服务器的同一个JVM内或者是远程调用,均不能访问这些JNDI。这样的话,组件之间是相互隔离的,不同组件之间可以定义它自己的环境参数。比如 EJB1可以定义自己的环境变量参数:java:comp/env/red 1 、JBOSS的命名空间: 比如一个命名: java:comp/env

Using EJB with Future<?> object

大兔子大兔子 提交于 2020-04-07 06:05:54
问题 How I can use async EJB's and asking for result with Future object ? Can anyone show me by a complete example. 回答1: Before EJB 3.1,If you want to execute an asynchronous processing you had to use JMS and a MDB,In EJB 3.1, you can use a simple session EJB with the @Asynchronous annotation on the method which must be called asynchronously. @Stateless @Remote(HelloEjbAsynchronousRemote.class) public class HelloEjbAsynchronous implements HelloEjbAsynchronousRemote { @Asynchronous @Override public

java常见笔试题

為{幸葍}努か 提交于 2020-04-03 05:24:12
JAVA 相关基础知识 1 、面向对象的特征有哪些方面 1. 抽象 : 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2. 继承 : 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3. 封装 : 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性 : 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 2 、 String 是最基本的数据类型吗 ? 基本数据类型包括 byte 、 int 、 char 、 long 、 float 、 double 、 boolean 和 short 。

JavaWeb程序架构模式的演进

点点圈 提交于 2020-04-02 06:38:41
JavaWeb程序架构模式的演进 老一辈的程序员一般都经历了Web程序架构模式的演进,从最开始的在jsp或者jsp+Servlet上做开发,到后来的mvc、三层等。而现在有挺多人学完web,可能都没怎么使用过jsp或jsp+Servlet开发过项目,就直接学习使用Spring、Spring Boot或者SpringMVC等框架进行开发。如果没有经历这样一个逐步演进的过程,就很难理解框架带给了我们什么样的好处,而且开发过程中遇到问题也难以解决,更别说去学习这些框架中的源码了。学习是一个循序渐进的过程,不能急于求成,所以本文旨在简单的聊一聊Web的发展史。 一、web发展简史 以目前Spring Boot作为时间轴的话,web发展的过程大致可以分为以下几个阶段: 1.纯jsp / jsp+Servlet / jsp+JavaBean+Servlet 2.MVC / MVP / 三层架构 3.使用EJB进行分布式应用的开发,EJB是重量级框架,在使用上比较复杂和麻烦 4.由于EJB太重了,于是Spring应运而生,但是Spring在发展上越来越臃肿,所以还是有许多繁琐的配置 5.同样的由于String配置太繁琐,于是Spring boot诞生了,这时就可以体验到 “约定大于配置” 的乐趣 二、web发展初始阶段 1.jsp / jsp+Servlet / jsp+JavaBean

Java 之JavaBean 、EJB 和POJO

只谈情不闲聊 提交于 2020-04-01 01:22:32
  由于是创业公司,开发人员较少,所以公司临时决定让几个C的程序猿临时客串Java。所以避免不了有很多基础问题,今天就有两个人都问我,JavaBean和POJO的区别,我可按照自己的理解给他们大致说了下,可是仔细一推敲发现自己好像没有那么透彻的讲解很清楚,就查了下资料,记下了一些笔记和理解。 1.JavaBean   JavaBean( 官方解释 )是可复用的Java组件,严格遵循Sun定义的规范要求,JavaBean是一个标准,开发者可以直接复用别人写好软件组件而不必理解它内部的工作机制。简单来说一个JavaBean应该有下面几个特点,   >类应该是public的   >属性应该private的,对于属性值的访问应该是要通过getXX,setXX,isXXX方法,isXXX是用于检查元素的值是否是Boolean的。   >该类应该有一个无参的构造函数,元素值的初始化要通过setXXX方法。   >这个类应该是实现了Serializable 接口( java.io.Externalizable ),这个是为了持久化存储的需要。  例如: package com.example; import java.io.Serializable; public class Bar implements Serializable { private String name = null;

Java面试题1

ε祈祈猫儿з 提交于 2020-03-27 07:32:16
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。为了提高效率节省空间

常见的JAVA面试题

≡放荡痞女 提交于 2020-03-27 07:31:15
1.开发中都用到了那些设计模式?用在什么场合? 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。主要用到了MVC的设计模式。用来开发JSP/Servlet或者J2EE的相关应用。简单工厂模式等。 2. 说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法 Session Facade Pattern:使用SessionBean访问EntityBean   Message Facade Pattern:实现异步调用   EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问   Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性   Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性   Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性   EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。 3.

EJB指导教程前言

ε祈祈猫儿з 提交于 2020-03-17 15:27:42
前言:本人将通过EJB tutorialspoint 网站学习EJB相关知识,并将一部分知识翻译整理写为博客,加入自己的见解,供分享和交流。 一、EJB指导 企业级Java Beans(EJB)是一种应用广泛的java 开发架构,用于构建高度可伸缩和健壮的企业级应用程序,并将其部署在J2EE兼容的应用服务器上,如JBOSS、Web logic等。 EJB3.0是基于EJB2.0的开发的,并做了很大的改变,这使得基于EJB3.0的应用程序的开发变得非常容易。 本教程旨在全面了解EJB的概念,有助于创建和部署企业级应用程序并使其正常运行。 二、适合人群 本教程是为软件专业人员以及所有愿意学习EJB编程的人设计的。本教程将使您以简单易用的步骤对EJB编程概念有一个很好的理解。 三、准备知识 在继续学习本教程之前,您应该对Java编程语言、文本编辑器和程序执行等有一个基本的了解。因为我们将使用EJB开发基于企业的应用程序,并建议您了解其他技术,如数据库服务器、应用程序服务器。 参考: https://www.tutorialspoint.com/ejb/index.htm 来源: CSDN 作者: 树上骑个猴 链接: https://blog.csdn.net/shuaigexiaobo/article/details/104873857