标签: java-ee-6

如何使用JSF复合组件在页面上创建唯一ID?

大家好.我正在为名为flot的javascript图表库创建一个组件.

    <cc:interface>        
    <cc:attribute name="data" required="true" /> 
</cc:interface>

<cc:implementation>       

    <div id="placeholder" style="width:600px;height:300px;"></div>

    <script type="text/javascript"> 
        //<![CDATA[
    $(function () {       

      var d1 = [#{cc.attrs.data}];     

        $.plot($("#placeholder"), [ d1 ]);

    });
    //]]>
    </script>

</cc:implementation>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止的少量代码.我遇到的问题是如何在页面上随机生成div标签,以便我可以输出多个图表.显然,在目前的状态下它不会那样做.我需要将值传递给javascript函数.

我知道我可以创建另一个需要id的属性,用户必须指定id,但我注意到很多组件都不需要id.似乎在重要的ajax/javascript库中,如primefaces和icefaces,这些id是随机的.

谢谢你的帮助.

javascript composite-component java-ee-6 jsf-2

5
推荐指数
1
解决办法
3640
查看次数

使用JPA 2 Criteria API加入特定的ON子句

以某种方式可以使用JPA 2 Criteria API执行以下查询之一吗?基本上,Profiles使用了许多模板.系统中的每个用户都有任意数量的配置文件和两个活动配置文件.我想获取所有模板以及拥有使用它的活动配置文件的用户数.

备选方案1

SELECT t.id, count(p.id)
FROM template t
LEFT JOIN profile p ON p.template_id = t.id
LEFT JOIN users u ON (u.active_profile_id = p.id OR u.active_personal_profile_id = p.id)
GROUP BY t.id
Run Code Online (Sandbox Code Playgroud)

备选方案2

SELECT t.id, count(p.id)
FROM COMPETENCE.template t
LEFT JOIN COMPETENCE.profile p ON (p.template_id = t.id)
LEFT JOIN users u1 on u1.active_profile_id = p.id
LEFT JOIN users u2 on u2.active_personal_profile_id = p.id
GROUP BY t.id
Run Code Online (Sandbox Code Playgroud)

如果我跳过了获取所有模板的要求,我可以简单地使用User和Profile作为Roots,以下就足够了:

CriteriaQuery<Tuple> cq = cb.createTupleQuery();
Root<User> from = cq.from(User.class);
Root<Profile> from2 = …
Run Code Online (Sandbox Code Playgroud)

criteria-api java-ee-6 jpa-2.0

5
推荐指数
0
解决办法
3987
查看次数

如何更改我的Web项目的起始页?

当我在eclipse中创建一个新项目时,它会自动为我创建一个index.jsp页面,我不希望起始页面是.jsp,我希望它是一个.xhtml这就是我在网上做的.XML:

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
    <welcome-file>myStartPage.xhtml</welcome-file>
</welcome-file-list>
</web-app> 
Run Code Online (Sandbox Code Playgroud)

当我在localhost中运行项目时,上面的代码不允许我将页面myStartPage.xhtml看作第一页.

我应该如何修改它以便浏览器为我显示起始页面.此外,我不想使用任何网址模式.这是强制性的吗?(我尝试删除该标记,但它没有构建).

java eclipse jsf java-ee-6 jsf-2

5
推荐指数
1
解决办法
1万
查看次数

禁用EJB计时器(GlassFish 3.1,Java EE 6)

我们有一个VIP(BIG-IP)实际上将Web服务请求移动到两个节点,每个节点都有自己的GlassFish服务器3.1并部署了我们的服务.所以它不是一个真正的玻璃鱼群.我的问题是我有很多Scheduler服务,如下所示:

@Schedule(minute = "55", hour = "23", dayOfWeek = "Wed")
public void runScheduledMedicaidPaymentProcess() {
Run Code Online (Sandbox Code Playgroud)

有没有办法让我在一个节点上禁用EJB Timer Service,以便在星期三晚上11:55时上述方法不在两个节点上运行?

我确实看到在Glassfish服务器文档中提到的集群使用_Default池,但正​​如我之前解释的那样,不是真正的集群.如果有任何方法可以在一个计时器上停止计时器,请告知我它是否未激活.

ejb glassfish java-ee-6

5
推荐指数
1
解决办法
991
查看次数

使用JavaMail的Java EE 6 Application Server for Web Profile

我有一个Java EE Web应用程序,它使用Java EE 6 Web配置文件+ EJB Timer服务和JavaMail中的功能.我目前正在开发期间使用GlassFish 3.1.2完整配置文件,但我想调查替代方案,因为:

  • GlassFish 3.1.2中的多部分表单似乎存在错误,而GlassFish 3.1.1还有其他问题在3.1.2中修复了.(捕获22 ...)该错误由票证中的jar修复.
  • 支持"网络配置文件"的应用程序服务器似乎有比"完整配置文件"更多的选项,前者应该更加轻量级.
  • 我想选择最佳的部署选项

我目前正在使用GlassFish的嵌入式应用程序服务器功能进行测试,因此需要任何替代方案的类似工具.在最坏的情况下,我可以使用嵌入式自动测试的GlassFish.

是否可以将JavaMail和EJB Timer Service实现模块"添加"到仅实现Web配置文件的应用程序服务器?它运作良好吗?如果无法做到这一点,是否有使用JavaMail和EJB Timer Service的替代方法?

您可以推荐哪些应用服务器符合我的要求?

最后,我考虑使用EJB的"异步调用"功能,它不是EJB lite的一部分.如果我理解正确,在Java EE容器中运行时手动启动线程是违法的.在这种情况下,如何在Java EE Web Profile中启动异步操作?

我仍然是整个Java EE生态系统和术语的新手,所以请不要犹豫,让我澄清我的问题的任何部分.

支持文档

编辑1

根据Apache TomEE文档,TomEE,TomEE +和OpenEJB符合该法案.

编辑2

根据AS 7.1发行说明,这个问题和JBoss AS 7.1.0 这个问题似乎实现了我需要的所有功能.

java web-applications application-server java-ee java-ee-6

5
推荐指数
1
解决办法
1304
查看次数

有没有办法知道状态是否处于活动状态而不捕获ContextNotActiveException?

我想知道RequestScoped上下文当前是否在方法中处于活动状态.

目前,我在做什么:

@Inject private BeanManager beanManager;

public boolean isRequestScopeActive() {
    try {
        if (beanManager.getContext(RequestScoped.class).isActive()) {
            return true;
        } else {
            return false;
        }
    } catch (final ContextNotActiveException e) {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为,ContextNotActiveException只要了解范围是否有效,我就会有点沉重.

您有没有更好的方法来了解CDI中的上下文的状态(活动与否)?

cdi java-ee-6 jboss-weld

5
推荐指数
1
解决办法
1487
查看次数

JAVA EE 6在有状态EJB之间共享实例

我想我在这里有一个基本的理解问题,我希望有人可以向我解释.

假设我们有一个有状态的EJB_A和一个有状态的EJB_B和一个有会话的ManagedbeanA:

@Stateful
@LocalBean
public class EJB_A {
}

@Stateful
@LocalBean
public class EJB_B {
  @EJB
  EJB_A ejb;
}
@ManagedBean
@SessionScoped
public class ManagedBeanA {
   @EJB
   EJB_A ejb;
}
Run Code Online (Sandbox Code Playgroud)

在ManagedBeanA中,创建了EJB_A.现在,当我使用EJB_B(EJB_A作为属性)时,EJB_B中会创建一个新的EJB_A实例.它与之前在ManagedBeanA中创建的EJB_A的实例不同.

我不明白,因为我认为有状态EJB的重点是,每个客户端只有一个实例由EJB-Container创建和共享和管理.有人可以向我解释一下吗?还请解释我如何实现EJB的同一个实例由多个其他EJB共享?

谢谢

java java-ee-6 ejb-3.1

5
推荐指数
1
解决办法
1504
查看次数

将域模式下的JBoss 7服务器添加到Eclipse

我可以在独立模式下将JBoss 7添加到eclipse,但是当我尝试在域模式下添加JBoss 7服务器时,配置文件的路径始终由Eclipse相对于独立文件夹解析.因此,如果我放入domain.xml的完整路径,它不会喜欢它,如果我只是放入文件名,它就厌倦了独立解决它.

有任何想法吗?

谢谢你

java eclipse java-ee-6 jboss7.x

5
推荐指数
1
解决办法
1526
查看次数

将数据从关系数据库迁移到NoSQL

是否有可能/有工具/最佳实践等将数据从关系数据库迁移到NoSQL格式.

我有一个使用Hibernate ORM的JEE6应用程序继续使用MySQL但现在我们希望转向NoSQL解决方案,但需要将现有数据带到我们这里

谢谢你

database relational-database java-ee nosql java-ee-6

5
推荐指数
1
解决办法
8532
查看次数

如何在Java EE环境中创建线程?

我有一个要求,我必须在表中保留一些数据,持久可能需要一些时间.基本上我想坚持一个日志.我不希望执行等到持续完成.

我知道我必须使用线程来完成这项任务,我知道不鼓励在企业应用程序中创建线程.

所以我开始阅读有关工作管理器的知识,并在websphere应用服务器8.5中理解并尝试了一个示例程序.

我在websphere中使用了asynchbeans.jar,现在我很困扰我正在编写特定于供应商的代码.

然后我遇到了在Oracle java文档中描述的commonj work api.现在我想使用fabric3的commonj api.

我怀疑的是,有没有更好的方法来完成同样的任务?一种EJB方式?或者工作经理对我的要求有好处吗?

java multithreading workmanagers java-ee-6 websphere-8

5
推荐指数
1
解决办法
2851
查看次数