标签: java-ee-6

从POJO访问EJB

是否可以从POJO访问EJB?我试过了

@EJB MyClass obj
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

java java-ee-6 ejb-3.1

3
推荐指数
1
解决办法
3112
查看次数

在Glassfish服务器上配置Hibernate JPA 2.0的学习资源

我试图在玻璃鱼服务器上使用hibernate和JPA 2.0创建一个新的Java EE项目.你能为我们提供一些资源来配置上述内容,以便它们能够无缝地工作吗?我尝试使用netbeans并使用hibernate提供程序生成持久性单元,但我最终收到此错误:

javax.persistence.PersistenceException: [PersistenceUnit: DBAppPU] Unable to build EntityManagerFactory
Run Code Online (Sandbox Code Playgroud)

hibernate glassfish java-ee-6 jpa-2.0 glassfish-3

3
推荐指数
1
解决办法
4999
查看次数

javamail将图像添加到html电子邮件中.怎么样?

我正在发送带有javamail的电子邮件没有问题(我使用EJB 3.0),问题是当我尝试通过使用多部分方法将一些图像添加到html时.出于某种原因,我得到一个FileNotFoundException.我不知道如何获取位于WEB-INF/resources/images的.png图像的路径.

这是我做的:

Message message = new MimeMessage(mailSession);
        // From: is our service
        message.setFrom(new InternetAddress(from));
        // To: destination given
        message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse(to));
        message.setSubject("Uspijesna registracija");
        // How to found at http://www.rgagnon.com/javadetails/java-0321.html
        message.setContent(generateActivationLinkTemplate(), "text/html");

        Date timeStamp = new Date();
        message.setSentDate(timeStamp);

        // Prepare a multipart HTML
        Multipart multipart = new MimeMultipart("related");
        // Prepare the HTML
        BodyPart htmlPart = new MimeBodyPart();
        htmlPart.setContent(generateActivationLinkTemplate(), "text/html");
        multipart.addBodyPart(htmlPart);
        // PREPARE THE IMAGE
        BodyPart imgPart = new MimeBodyPart();
        DataSource ds = new FileDataSource("logomailtemplate.png");
        imgPart.setDataHandler(new DataHandler(ds));
        imgPart.setHeader("Content-ID", "the-img-1");
        multipart.addBodyPart(imgPart);
        // Set …
Run Code Online (Sandbox Code Playgroud)

java jakarta-mail java-ee ejb-3.0 java-ee-6

3
推荐指数
1
解决办法
7542
查看次数

@PostConstruct为@ConversationScoped bean多次调用

我有一个@ConversationScoped bean,带有一个start方法,如下所示:

@PostConstruct
public void start() {
    if (conversation.isTransient()) {
        conversation.begin();
        log.debug("conversation.getId(): " + conversation.getId());
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,每次刷新页面时都会启动一个新会话,每次我对bean中的方法进行AJAX调用时,也会启动一个新的会话(这是我的主要问题).

我真正想要发生的是让sam对话流连,直到我手动调用conversation.end().我在这里错过了什么?

java cdi seam-conversation java-ee-6 jboss-weld

3
推荐指数
2
解决办法
6084
查看次数

EJB 3.1 | 通过JNDI调用远程会话bean时出错

我试图从Java SE(简单类)调用一个简单的无状态会话bean.

这是我的豆子

import javax.ejb.Stateless;

/**
 *
 * @author MMRUser
 */
@Stateless
public class CapitalBean implements CapitalBeanRemote {

    public String greetingsEjb(String name) {
        return "Hello " + name;
    }
} 
Run Code Online (Sandbox Code Playgroud)

远程接口

import javax.ejb.Remote;

/**
 *
 * @author MMRUser
 */
@Remote
public interface CapitalBeanRemote {

    public String greetingsEjb(String name);
}
Run Code Online (Sandbox Code Playgroud)

从我的客户端,我使用独立的java类来使用JNDI调用会话bean,如下所示

import ejb.CapitalBeanRemote;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 *
 * @author MMRUser
 */
public class CallEjbClass {

    public static void main(String[] args) {
        try {
            Context context = new …
Run Code Online (Sandbox Code Playgroud)

ejb jndi glassfish java-ee java-ee-6

3
推荐指数
1
解决办法
9620
查看次数

为什么JPA不会自动生成我的行的ID?

我想使用SEQUENCE策略自动生成id,但我正在打破我的头脑才能使它工作.我根本不知道为什么我不能让它发生.

这就是我做的.首先,我有一个实体:

 @Entity
@SequenceGenerator(name="VlasnikSeq", sequenceName="VLA_SEQ")
public class Vlasnik implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="VlasnikSeq")
    private Long id;
    //...
Run Code Online (Sandbox Code Playgroud)

在persistence.xml中我有它映射:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
    <persistence-unit name="sampleAplication">
    <class>entities.Vlasnik</class>
    <class>entities.Ljubimac</class>
    </persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)

当我使用eclipses功能为实体生成表时,我得到这个:

在此输入图像描述

如您所见,表已创建,但没有SEQUENCE表.我还在控制台中注意到以下消息,而JPA正在创建表:

[EL警告]:异常[EclipseLink-4002](Eclipse Persistence Services - 2.3.0.v20110604-r9504):org.eclipse.persistence.exceptions.DatabaseException内部异常:java.sql.SQLSyntaxErrorException:SEQUENCE'VLA_SEQ'不存在.

我认为下一步是尝试运行应用程序,看看我是否可以创建一些行.但是,当我试图坚持某些东西时,我得到一个例外,说:

org.apache.derby.client.am.SqlException:SEQUENCE'VLA_SEQ'没有

所以我来,由于某种原因,我需要一个表中的结论,让我去给数据库管理的角度来看,我尝试执行以下查询:

CREATE SEQUENCE VLA_SEQ;
Run Code Online (Sandbox Code Playgroud)

但我收到以下消息:

序列'VLA_SEQ'已经存在.

我完全糊涂了.我不知道该怎么办.我只想在DB中创建新行时自动生成实体的ID.

这是我第一次使用glassfish 3.1,在版本3.0中我不记得,有这个问题,我甚至可以使用@GenneratedValue.我很感激一些帮助.

java orm jpa java-ee java-ee-6

3
推荐指数
1
解决办法
9383
查看次数

使用Request Dispatcher的Java过滤器 - 使用JavaEE 6注释

我使用JaveEE 6 Annotation为"/ folder/*"创建了一个过滤器

@WebFilter("/folder/*")
Run Code Online (Sandbox Code Playgroud)

但是,当我去"/test.html"有一个电话

request.getRequestDispatcher("/folder/test.jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)

在doGet中,页面未被过滤.在浏览器中手动转到"/folder/test.jsp"时,过滤器工作正常.如何在使用调度程序时使其工作?

我找到了一个xml方法的解决方案,可以在这里这里创建多个地方的过滤器,但是无法使用注释找到解决方案.谢谢!

java dispatcher java-ee-6 servlet-filters

3
推荐指数
1
解决办法
1556
查看次数

在Web应用程序中使用EJB有什么好处?

我正在使用Java EE开发一个数据库驱动的Web应用程序,我想知道使用EJbs的好处.

如果我理解正确,最好将EJB用于各种业务逻辑或数据库事务.

我使用Hibernate作为我的JPA,这是我的问题:

使用注入的EJB作为DAO而不是常规Java类作为从我的Managed Bean调用的DAO有什么好处?有什么区别?

我是Java EE的新手,所以这可能是一个初学者的问题.

jsf ejb java-ee java-ee-6 jsf-2

3
推荐指数
1
解决办法
550
查看次数

JSP servlet映射

通过引入Servlet 3.0,我们可以使用注释将servlet映射到URL模式,并在web.xml中省略映射.

我想知道是否有一些intstructions或特殊标签允许将jsp映射到页面代码中的URL而不在web.xml中声明servlet

jsp url-mapping servlet-3.0 java-ee-6

3
推荐指数
1
解决办法
1390
查看次数

@Startup @Singleton在WebLogic中实例化两次(EJB 3.1)

我有一个标记的类@Startup,@Singleton并且构造函数被调用两次.

为什么被叫两次?

  • WebLogic 12.1.1
  • 本地运行(不是群集)
  • 当@PostConstruct存在时,它也被调用两次
  • 与XML配置无关(weblogic-ejb-jar.xml等)

这是班级:

import java.util.concurrent.atomic.AtomicInteger;

import javax.ejb.Singleton;
import javax.ejb.Startup;

@Startup
@Singleton
public class CacheStartupListener {

    static AtomicInteger count= new AtomicInteger(0); 

    public CacheStartupListener() {
        System.err.println("Singleton invoked " + count.incrementAndGet() + " " + getClass().getClassLoader().toString());  
    }
}
Run Code Online (Sandbox Code Playgroud)

我可以从输出中看到构造函数都是从同一个类加载器中调用的.

构造函数中的堆栈跟踪都会通过wlfullclient-12.1.1jar,但堆栈跟踪其他方面是不同的.

这是第一个实例化的堆栈跟踪:

Daemon Thread [[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] (Suspended (breakpoint at line 30 in CacheStartupListener)) (out of synch)   
    CacheStartupListener_m3hhum_NoIntfViewImpl(CacheStartupListener).<init>() line: 30 (out of synch)   
    CacheStartupListener_m3hhum_NoIntfViewImpl.<init>(SingletonLocalObject) line: …
Run Code Online (Sandbox Code Playgroud)

java java-ee-6 ejb-3.1

3
推荐指数
1
解决办法
2820
查看次数