标签: java-ee-7

Maven中的Java EE 7 First Cup Tutorial错误:无法找到工件org.glassfish.javaeetutorial.firstcup:firstcup:pom:7.0.1-SNAPSHOT

我正在关注FirstCup的Java EE 7更新版本.我安装了glassfish 4并使用NetBeans 7.3.我正在研究第一个例子,我正在解决maven问题.

我生成了原型,并且能够创建dukes-age项目.但是它有不可解决的maven问题:

找不到工件org.glassfish.javaeetutorial.firstcup:firstcup:pom:7.0.1-SNAPSHOT

这是完整的错误:

[INFO] Scanning for projects...
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project com.mycompany:dukes-age:1.0-SNAPSHOT (/Users/koblentz/NetBeansProjects/dukes-age/pom.xml) has 1 error
[ERROR]     Non-resolvable parent POM: Could not find artifact    org.glassfish.javaeetutorial.firstcup:firstcup:pom:7.0.1-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 5, column 13 -> [Help 2]
[ERROR] 
Run Code Online (Sandbox Code Playgroud)

我不确定该怎么做/如何解决这个问题.我删除了.m2 repo中的本地缓存,并尝试从命令行构建而不是使用NB来运行maven命令.

有任何想法吗?

java java-ee maven netbeans-7 java-ee-7

5
推荐指数
2
解决办法
3438
查看次数

在Tomcat 7中运行Java EE 7 WebSockets

Java EE 7已经淘汰,我喜欢的功能之一是标准Websockets.目前我在Tomcat 7工作,有没有办法在我的Tomcat 7中集成Java EE 7 Websockets?我在Tyrus Websocket的文档中搜索它没有成功

更新:Tomcat 7.0.47附带Websocket支持,是的宝贝!

java websocket tomcat7 java-ee-7

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

将 @Resource UserTransaction 注入 EJB Singleton bean 是否安全

Q1: 我正在编写一个使用 BMT 的 EJB Singleton bean,所以我需要在我的 bean 中使用 UserTransaction。我想知道将 @Resource UserTransaction 注入我的 EJB 单例 bean 是否安全。我不知道容器是否会注入 UserTransaction 的代理。有人可以给我一些想法吗?谢谢!

问题 2:

@Resource UserTransaction 和 sessionContext.getUserTransaction() 有什么区别。它们是等价的吗?

java ejb transactions java-ee-6 java-ee-7

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

如何配置spring security 3.2以使用java配置使用dao身份验证和自定义身份验证过滤器

我使用dao身份验证和自定义身份验证过滤器搜索了Spring安全示例,但是我发现,所有示例都使用xml文件配置,

我的问题是如何配置自定义过滤器,即UsernamePasswordAuthenticationFilter

我的基于xml的securityConfig文件如下所示:

<http auto-config="false" use-expressions="true">

    <intercept-url pattern="/" access="permitAll" />        
    <intercept-url pattern="/auth/login.html" access="permitAll" />     
    <intercept-url pattern="/auth/logout.html" access="permitAll" />        
    <intercept-url pattern="/auth/accessDenied.html" access="permitAll" />      
    <intercept-url pattern="/admin/**" access="hasAnyRole('ROLE_ADMIN')" />
    <intercept-url pattern="/user/**" access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />


    <access-denied-handler error-page="/auth/accessDenied.html"/>

    <form-login login-page='/auth/login.html' 
        default-target-url="/"
        authentication-success-handler-ref="myAuthenticationSuccessHandler"
        authentication-failure-url="/auth/loginfailed.html" />

    <logout success-handler-ref="myLogoutSuccessHandler"
            invalidate-session="true" delete-cookies="JSESSIONID" />

    <remember-me key="uniqueAndSecret" token-validity-seconds="86400" />

     <session-management session-fixation-protection="migrateSession" 
            session-authentication-error-url="/auth/loginfailed.html"> 
        <concurrency-control max-sessions="1" 
                error-if-maximum-exceeded="true" 
                expired-url="/auth/login.html" 
                session-registry-alias="sessionRegistry"/>
    </session-management>

</http>

<beans:bean id="myAuthenticationSuccessHandler" 
    class="com.asn.handler.AsnUrlAuthenticationSuccessHandler" />

<beans:bean id="myLogoutSuccessHandler" 
    class="com.asn.handler.AsnLogoutSuccessHandler" />

<beans:bean id="userDetailsService" class="com.asn.service.UserDetailsServiceImpl"/>

<authentication-manager alias="authenticationManager">      
    <authentication-provider user-service-ref="userDetailsService"> 
        <password-encoder ref="encoder"/>                      
    </authentication-provider>
    <!-- <authentication-provider>
        <user-service>
            <user …
Run Code Online (Sandbox Code Playgroud)

java spring-security java-ee-7 spring-java-config

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

如何在 Bean 验证中设置区域设置

默认情况下,Bean Validation 基于 Locale.getDefault() 获取 Locale,这对整个 JVM 是通用的。

如何更改当前 EJB 方法调用的 BeanValidation 的区域设置?

我正在使用 JavaEE7 并希望从 JPA 和 Bean 验证的集成中获益,即插入/更新/删除事件的自动触发验证,并尽可能避免手动编写所有内容。

编辑

毕竟,我只是从 EJB 返回非内插消息:

public class DoNothingMessageInterpolator implements MessageInterpolator {
    @Override
    public String interpolate(String message, Context context) {
        return message;
    }
    @Override
    public String interpolate(String message, Context context, Locale locale) {
        return message;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后在 Web 层插入它们:

try{
    //invoke ejb
}catch( EJBException ejbex ){
    if( ejbex.getCause() instanceof ConstraintViolationException ){
        ConstraintViolationException cve = (ConstraintViolationException) ejbex.getCause();
        WebUtils.printConstraintViolationMessages("NewConferenceForm:", context, cve, new Locale(languageCtrl.getLocaleCode()) …
Run Code Online (Sandbox Code Playgroud)

bean-validation java-ee-7

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

Java EE7 WebSocket初始化-在第一个@OnOpen之前实现逻辑

我认为这比直接编码问题更多是针对设计的问题。

我想实现一个websocket服务,该服务将来自国外http://资源的更新数据集提供给客户端。但是我想在第一个客户端连接之前就可以使用数据,所以@OnLoad表示法不会做。

HttpServlet世界上我会

@Override public void init() throws...

仅使用JSR-356我无法找到合适的方法。我尝试使用custom,ServerEndpointConfig.Configurator但这似乎无法让我访问类似于init()from的方法HttpServlet

所以我的问题是:

让websocket Endpoint类扩展HttpServlet使我可以访问该init()方法,并且可以在其中放置初始逻辑。这是解决我的问题的合适方法,还是我错过了JSR-356中的某些功能,它可以很好地完成工作并且无需导入大部分未使用的servlet包?

非常感谢你!

java websocket glassfish-4 java-ee-7 tomcat8

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

在Java EE 7中按ID查找WebSocket会话

我已经阅读了Java EE文档,但对我来说还不清楚。根据API,找到另一个Session的唯一方法是这样的代码:(假设我们具有其他Session的标识符):

import javax.websocket.Session;
...
private static Session findOtherSessionById(Session user, String id) {
    for (Session session : user.getOpenSessions()) {
        if (id.equals(session.getId())) {
            return session;
        }
    }
    return null;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我们有成千上万的用户时,此代码是性能瓶颈。

因此,有没有一种方法可以快速通过id获得Session,而无需为此使用自己的ConcurrentHashMap?也许某些应用服务器对此具有未保留的功能(对我来说Wildfly会很棒)?

java performance java-ee websocket java-ee-7

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

控制ManagedExecutorServices / Java EE 7的线程数

在Java SE中,可以使用类似

ExecutorService es1 = Executors.newSingleThreadExecutor();
ExecutorService es2 = Executors.newFixedThreadPool(10);
Run Code Online (Sandbox Code Playgroud)

控制执行程序服务可用的线程数。在Java EE 7中,可以注入执行程序服务:

@Resource 
private ManagedExecutorService mes;
Run Code Online (Sandbox Code Playgroud)

但是,如何控制托管执行程序服务可用的线程数?例如,在我正在编写的应用程序中,有一个执行程序服务必须在单个线程中执行。因此,我不能只让平台选择其首选的线程数。

java multithreading java-ee java-ee-7

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

Java Web Socket ServerEndpoint 线程安全

单个 ServerEndpoints 线程安全还是属于在给定时间与其交互的所有客户端?

或者用另一种方式来问同样的问题:ServerEndpoint 类中的全局对象是否有产生并发问题的危险,就像它们在 HttpServlets 中所做的那样

这个例子似乎表明每个 Endpoint 都是线程安全的,或者他只是在使用 Set 并祈祷并发问题不要出现?

那么,假设它们是线程安全的,容器(Tomcat、Glassfish 等)是否会在每次建立来自不同客户端的新连接时创建 ServerEndpoint 类的新实例?

concurrency websocket java-ee-7

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

企业 Java Bean (EJB) 和实体 Java Bean 有什么区别?

谁能解释一下Enterprise Java BeansEntity Java Bean之间的区别?

我知道 EJB 是什么,但我不明白它们在持久性方面的区别。

我们使用相同的注解来保存它,但那为什么叫它不同呢?

java ejb java-ee-7

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