由于Java EE 5没有CDI,DI如何在这里工作?
EJB是否可以@EJB在非EJB的类中注入?可以在非EJB(容器管理不是本地资源)的类中EntityManager注入吗?或者,将资源引入非EJB类的唯一解决方案是通过JNDI查找?@PersistenceContextEntityManager
非EJB类我指的是没有用@Stateless/ @Statefull或其他注释的类.
我正在将一个spring-managed bean注入一个抽象类,它似乎不起作用.这是我所做的解释,如果还不够,我可以编辑帖子并添加一些代码:
结果 - 它不起作用.
然后我尝试将注入的bean从抽象类移动到两个子类中.现在它有效.
那么,我做错了什么,或者理论上不可能将bean注入Spring 3和Java EE 5的抽象类中?
我无法得到primeFaces的<p:filedownload工作.我成功使用自定义下载bean下载文件.似乎issu与primefaces文件下载ActionListener有关,但我没有看到如何.有人有线索吗?谢谢.
这是我的豆子:
@ManagedBean(name="fileDownloadBean")
@SessionScoped
public class FileDownloadBean implements Serializable {
private StreamedContent file;
public StreamedContent getFile() {
return file;
}
public void setFile(StreamedContent file) {
this.file = file;
}
/** Creates a new instance of FileDownloadBean */
public FileDownloadBean() {
InputStream stream = this.getClass().getResourceAsStream("sessionlog.csv");
file = new DefaultStreamedContent(stream, "application/csv", "sessionlog.csv");
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的观看代码:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:o="http://openfaces.org/"
template="./../template.xhtml">
<ui:define name="title">
#{bundle.Log}
</ui:define>
<ui:define …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个开源项目,它使用EJB3作为后端,JSF作为前端.它应该不会是一个教程,但真正的人使用的是真正的应用.
应用程序应该是数据驱动的,即以下方面是基础,并且使应用程序的80%或更多.
典型应用是CRM/ERP项目,其中人们使用列表,表格和表单进行大量工作.但任何其他"管理"应用程序也应该没问题.
我知道petstore,但该应用程序不是基于表单的.petstore是最终用户应用程序.我正在寻找后端用户应用程序.
像Microsofts AdventureWorks系列,但是使用EJB3 + JSF ......像SugarCRM,但是使用EJB3 + JSF ......
我google 了很多 ...没有结果:-(
随着Sun被Oracle接管,Oracle可以说可以获得对Glassfish的控制权.
我确实理解Glassfish是社区驱动的,但目前大部分贡献来自Sun.
它是一款出色的App Server,非常适合许多对成本敏感的客户.但是,如果甲骨文决定从我们的脚下拉下地毯,我们可能会对我们的客户造成严重的麻烦.
对于寿命约为5年的解决方案(应用程序),将Glassfish作为应用程序服务器仍然有意义吗?
我有一个在JSF 1.x中完成的组件,该组件有一个命令按钮,如下所示
<h:commandButton ... action="#{templateController.next}" />
Run Code Online (Sandbox Code Playgroud)
其中templateController作为EL绑定传递,并且可以是实现某个接口的任何对象.next()的通用实现只是执行代码然后返回一个空字符串,导致同一页面刷新:
public String next() {
.....
return "";
}
Run Code Online (Sandbox Code Playgroud)
现在我试图将该组件移植到JSF 2,我的问题是空字符串不会导致同一页面再刷新,相反,框架尝试重定向到名为".jsf"的页面,即它只是附加. jsf无论结果如何.我的问题是如何返回导致当前页面刷新的结果.我的组件是通用的,我不知道它将要使用的页面的名称.
谢谢
我需要运行一个简单的计划任务,每200ms启动一次并做一些简单的事情.
是Executors.newSingleThreadScheduledExecutor()在JBoss上获取的安排执行程序服务的正确方法?
据说不建议在Java EE平台上生成非托管线程.似乎这个线程将是一个非托管的线程.
另一方面,我不想为这么简单的事情声明MBeans等.
编辑
有一些东西,org.jboss.resource.work.JBossWorkManager但我找不到预定工作的例子.
In JSF 1.2 One was listing Items using Java List :
private List<Customer> customerItems = null;
Run Code Online (Sandbox Code Playgroud)
, but in JSF 2.0 JSf DataModel (ListDataModel) is the way to go. (I am using JSF 2.0)
private DataModel customerItems = null;
public abstract DataModel createPageDataModel();
Run Code Online (Sandbox Code Playgroud)
However, I still don't get how to efficiently work with it. Rather say, I can't even implement a simple and mandatory case which is, navigation.
I have a <h:datatable value="#{customerController}" var="customer"> that gets its row objects from …
我们开发了一个 JEE5 Web 应用程序 (WAR) 并在 WebLogic 11g (10.3.5) 下在生产环境中运行它。
现在,应该将同一个应用程序部署为同一 WebLogic 上不同客户(不同 URL、不同数据)的单独应用程序。
我通过在部署后为每个人设置不同的上下文根来管理第一部分。
但是我还没有让它们使用不同的数据源——而且由于我想避免客户特定的构建,persistence.xml 对于所有应用程序都是相同的,因此也是持久性单元名称。
这种情况的最佳设置是什么?我是否被迫进行单独的构建并通过不同的 WAR 或我必须将托管服务器或域与服务器分开,还是有更好的方法来解决它?
我有一位客户陷入 EJB 3.0 环境中。没有@Singleton,没有bean管理的并发:-(
考虑到ejb规范禁止线程管理和同步,如何实现缓存?本质上,我想要一个非同步对象缓存来执行一些昂贵的操作。
java-ee-5 ×10
java ×6
jsf ×4
ejb-3.0 ×2
java-ee ×2
concurrency ×1
datamodel ×1
deployment ×1
download ×1
ejb ×1
end-of-life ×1
glassfish ×1
jakarta-ee ×1
jboss ×1
jsf-2 ×1
open-source ×1
primefaces ×1
spring ×1