我开发了一组宁静的Web服务.由于错误,我无法从远程客户端调用任何这些方法
No 'Access-Control-Allow-Origin' header is present on the requested resource.
这些服务在localhost上完美运行.是否有任何更改或配置要在服务器端解决此问题.即启用跨域请求.
我正在使用WildFly 8,JavaEE 7
我有下面的注释.
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}
Run Code Online (Sandbox Code Playgroud)
public class SomeAspect{
@Around("execution(public * *(..)) && @annotation(com.mycompany.MyAnnotation)")
public Object procede(ProceedingJoinPoint call) throws Throwable {
//Some logic
}
}
Run Code Online (Sandbox Code Playgroud)
public class SomeOther{
@MyAnnotation("ABC")
public String someMethod(String name){
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的类中我在@MyAnnotation中传递" ABC " .现在我如何在SomeAspect.java类的procede方法中访问" ABC "值?
谢谢!
是否可以在@ServerEndpoint中获取HttpServletRequest?主要是我试图得到它所以我可以访问HttpSession对象.
现在我正在阅读"开始Java EE 7".我想知道Java EE 7是一个很好的技术堆栈,它包括CDI,bean验证,Web层的JSF和其他规范.
所以我有一个问题:
如果存在Java EE 7,我为什么要研究Spring框架并涵盖Spring实现的所有功能?
我@javax.persistence.Lob什么时候应该在JPA中使用注释?此注释可以注释哪些数据类型?
我有一个应用程序在以下环境中运行.
有几个公共页面从数据库中延迟加载.一些CSS菜单显示在模板页面的标题上,如显示类别/子类别特征,最畅销,新到达等产品.
CSS菜单根据数据库中的各种产品类别从数据库动态填充.
这些菜单填充在每个页面加载上,这是完全没有必要的.其中一些菜单需要复杂/昂贵的JPA标准查询.
目前,填充这些菜单的JSF托管bean是视图范围的.它们都应该是应用程序作用域,在应用程序启动时只加载一次,并且只有在更新/更改相应数据库表(类别/子类别/产品等)中的某些内容时才更新.
我做了一些尝试来理解WebSokets(从未尝试过,对WebSokets来说是全新的),就像这样和这个.他们在GlassFish 4.0上运行良好,但它们不涉及数据库.我仍然无法正确理解WebSokets的工作方式.特别是涉及数据库时.
在这种情况下,当更新/删除/添加到相应的数据库表时,如何通知关联的客户端并使用数据库中的最新值更新上述CSS菜单?
一个简单的例子很棒.
我正在将应用程序迁移到Java EE 7并且想要CDI 1.1.但我没有得到的意思bean-discovery-mode="annotated".该
CDI 1.1规范是不是非常有帮助.至少我没有找到任何有用的段落.我错过了吗?
这个例子完美地运行bean-discovery-mode="all"并注入一个实例LoggingClass:
public class LoggingClass {
public Logger logger = Logger.getLogger("ALOGGER");
}
@Test
public class MMLoggerProducerIT extends Arquillian {
@Inject private LoggingClass lc;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我从改变bean-discovery-mode="all"到bean-discovery-mode="annotated"容器不能够注入的情况下进入该领域lc.
如何正确注释LoggingClass才能bean-discovery-mode="annotated"正确使用?
我很困惑.javax.inject.Singleton和之间的确切区别是javax.ejb.Singleton什么?
我正在使用Java EE 7.我想知道将JPA EntityManager注入应用程序范围的 CDI bean 的正确方法是什么.您不能只使用@PersistanceContext注释注入它,因为EntityManager实例不是线程安全的.假设我们希望EntityManager在每个HTTP请求处理的开始时创建我们,并在处理HTTP请求后关闭它们.我想到了两个选择:
1.创建一个请求范围的CDI bean,它具有对a的引用EntityManager,然后将bean注入到应用程序范围的CDI bean中.
import javax.enterprise.context.RequestScoped;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
@RequestScoped
public class RequestScopedBean {
@PersistenceContext
private EntityManager entityManager;
public EntityManager getEntityManager() {
return entityManager;
}
}
Run Code Online (Sandbox Code Playgroud)
import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
@ApplicationScoped
public class ApplicationScopedBean {
@Inject
private RequestScopedBean requestScopedBean;
public void persistEntity(Object entity) {
requestScopedBean.getEntityManager().persist(entity);
}
}
Run Code Online (Sandbox Code Playgroud)
在此示例中,EntityManager将在创建时RequestScopedBean创建,并在RequestScopedBean销毁时关闭.现在我可以将注入移动到一些抽象类中以将其从中删除ApplicationScopedBean.
2.创建一个生成实例的生产者,EntityManager然后将EntityManager实例注入到应用程序范围的CDI bean中.
import …Run Code Online (Sandbox Code Playgroud) 我看到,在JSF中,大多数映射到HTML标签的标准组件,例如<h:commandButton/>,具有属性class和styleClass.但无论我使用哪一个,都会class在标记中呈现为属性.
那么为什么有两个具有相同目的的属性呢?
java-ee-7 ×10
java ×4
cdi ×2
jpa ×2
jsf ×2
spring ×2
websocket ×2
annotations ×1
cors ×1
cross-domain ×1
ejb ×1
inject ×1
java-ee ×1
jax-rs ×1
jsf-2 ×1
primefaces ×1
singleton ×1
spring-3 ×1
spring-aop ×1
wildfly-8 ×1