Tag: java ee

JAVA EE 7第一杯教程,无法安装Glassfish 4更新中心

好吧,我试图按照第一杯教程,但我遇到了Glassfish错误。 我应该这样: 1.2.4获取教程的最新更新 使用Java EE 7 SDK附带的更新中心检查本教程的任何更新。 1.2.4.1通过更新中心更新教程打开更新中心并检查教程的任何更新。 在NetBeans IDE中,选择“服务”选项卡,然后展开“服务器”节点。 右键单击GlassFish Server实例,然后选择“查看更新中心”以显示“更新工具”。 在树中,选择“可用更新”以显示更新的包列表。 查找First EE for Java EE 7(javaee-firstcup-tutorial)包的更新。 如果有First Cup的更新版本,请选择First Cup 7.0 for Java EE 7(javaee-firstcup-tutorial)并单击Install。 问题是,当我尝试打开更新中心时,这就是我得到的: The software needed for this command (updatetool) is not installed. If you choose to install Update Tool, your system will be automatically configured to periodically check for […]

是否可以动态加载包中包含的所有属性文件? 即MyClass.class.getResource(’*。properties’);

我熟悉在给定文件名的情况下获取属性文件的内容,显然MyClass.class.getResource(’*。properties’)不起作用,但是如何获取位于的所有属性文件的列表与我class级相同的包裹?

以编程方式将Bean注入CDI上下文?

是否可以手动将bean注入CDI上下文? 使用JBoss Seam框架,我总能做类似Contexts.getConversationContext().set(“foo”, bar); 并且Bean将成为该上下文的一部分。 是否可以在Java EE 6 CDI中执行类似的操作?

OpenEJB本地客户端注入失败

请注意,我正在非常仔细地反映这里给出的例子 。 事实上,我的情况有点简单,因为我现在甚至没有使用持久性单元进行测试。 我的测试项目提供了一个简单的MDB和一个会话bean; MDB和会话bean都正常加载,并且可以在没有注入的情况下成功测试(以约束的方式)。 在我的unit testing中使用@LocalClient注释的建议注入失败,出现已知错误: javax.naming.NamingException: Unable to find injection meta-data for [your-class]. Ensure that class was annotated with @org.apache.openejb.api.LocalClient and was successfully discovered and deployed. See http://openejb.apache.org/3.0/local-client-injection.html 当我访问此页面时,它通知我可能需要为我的测试用例上下文设置添加额外的属性。 所以现在看起来像: @Override public void setUp() throws Exception { initializeContext(); } public void initializeContext() { Properties p = new Properties(); p.put(Context.INITIAL_CONTEXT_FACTORY, “org.apache.openejb.client.LocalInitialContextFactory”); // the property […]

“纯粹的”MVC实现有用吗?

我在一家提供定制“CRM”软件的公司工作。 我们目前正在重新设计/重新开发该软件,希望它看起来更现代,更容易为未来的客户开发和定制。 目前,定制每个新应用程序需要很长时间。 可以假设它花费这么长时间的原因是因为“视图”层中存在的业务逻辑量。 在某种程度上,我可以保证这是真的,但症状并不总能可靠地指出原因。 有一个建议是,如果我们只是将业务逻辑移动到控制器层并使用纯视图(我们使用java J2EE和struts),就像实现struts标签而不是调用bean层并在jsp上迭代对象 – 等等。 在我开始倡导之前,我们继续这样做,我想要了解其他人的想法。 MVC的“纯粹”实现(特别强调解耦控制器和视图)是否提供了更清晰,更易于开发和更改的代码库? 感谢大家的投入 – 这有很多帮助

Spring aop拦截来自同一服务类的调用

我有一个与上面提到的相同的场景 Spring @Transaction方法调用同一个类中的方法,不起作用? 我指的是答案#1,我认为这对我的简单pojo课程有效,但它没有。 在我的情况下,我没有注释@Transaction。 它是一个简单的pojo类。 如果我在上面的post中举例,我希望拦截每个方法adduser以及使用spring aop的addusers。 是否可以拦截从同一服务调用中调用的方法? 我指的是AspectJAwareProxy,它可以解决问题,但不能解决整个问题。 我的意思是我不希望任何东西被添加到我的业务逻辑中。 所以我想避免任何编码,除了定义切入点和定义建议。 是否有可能使用Java和spring aop? 我正在使用CGlib来生成代理。 Spring版本是3.0.5。请。 谢谢,Ajay

Java EE 7自动计时器(EJB计时器)不适用于WildFly 8.1.0

我正在按照使用定时器服务教程来构建一个简单的计划执行。 尝试自动方法并使用WildFly 8.1.0 Final 。 会话Bean @Singleton @Startup public class HelloJob { private static final Logger logger = Logger.getLogger(HelloJob.class); public HelloJob() { logger.error(“>>> Hello Job Created.”); } @Schedule(second=”*”) public void sayHello() { logger.error(“>>> Server Hello!”); } } 在部署时,正确实例化类,打印>>> Hello Job Created. 消息,但方法sayHello()永远不会被调用。 根据教程,@ @Schedule(second=”*”)表示它应该每秒执行一次。 将属性设置为星号(*)表示属性的所有允许值。 此外,只有有状态会话bean不允许用于计时器,我使用的是单例,也在示例中使用。 企业bean容器的计时器服务使您可以为除有状态会话bean之外的所有类型的企业bean计划定时通知。

使用application.properties将Spring Boot中logback.xml的位置外部化

如何使用application.properties在Spring Boot中自定义logback.xml的位置? 我试过下面但是没有用。 application.properties logging.config = /home/dev-01/Documents/logback.xml 如果logback.xml位于资源文件夹中,则它正在工作,但如果它位于项目外部,则无法正常工作。 如果我提供环境变量,它也可以工作 -Dlogging.config=/home/dev-01/Documents/logback.xml

使用Spring Security在运行时切换身份validation方法?

通常,当您为应用程序声明不同的“”(在我的情况下为webapp)时,Spring Security将负责一个接一个地调用提供程序,以防止失败。 因此,假设我在配置文件中首先声明了DatabaseAuthenticationProvider和LDAPAuthenticationProvider,并且在运行时首先调用DatabaseAuthenticationProvider,如果身份validation失败,则尝试LDAPAuthentication。 这很酷 – 但是,我需要的是运行时切换。 我想有一个选择在这两种方法之间选择(基于数据库的身份validation/基于ldap的身份validation),并以某种方式基于这个全局设置来实现实现。 我该怎么做? 是否可以使用Spring-Security?

如何将与远程文件一起使用?

我有一个专门用于静态内容的服务器,所以我不想使用资源目录存储javascript文件,但我不想停止使用标记。 如何使该标记生成指向文件所在的静态服务器的链接,而不是RES_NOT_FOUND 。 我甚至不需要JSF检查文件是否存在… 我试过了: 生成: 但它会生成: 我能做什么? 解决方案:丹尼尔给我一个很好的解决方案! 我已经下载了Omnifaces的源代码并将org.omnifaces.resourcehandler.CDNResourceHandle.createResource(String resourceName, String libraryName)方法修改为: public Resource createResource(String resourceName, String libraryName) { final Resource resource = wrapped.createResource(resourceName, libraryName); if (cdnResources == null) { return resource; } String resourceId = ((libraryName != null) ? libraryName + “:” : “”) + resourceName; String path = cdnResources.get(resourceId); if(path == null){ […]