标签: jboss7.x

无法使@ManyToOne关系成为可空

我有一个多对一的关系,我想要可以为空:

@ManyToOne(optional = true)
@JoinColumn(name = "customer_id", nullable = true)
private Customer customer;
Run Code Online (Sandbox Code Playgroud)

不幸的是,JPA将我的数据库中的列设置为NOT NULL.有谁能解释一下?有没有办法让它发挥作用?请注意,我使用JBoss 7,JPA 2.0和Hibernate作为持久性提供程序和PostgreSQL 9.1数据库.

编辑:

我找到了问题的原因.显然,这是由于我在引用实体中定义主键的方式Customer:

@Entity
@Table
public class Customer { 
    @Id
    @GeneratedValue
    @Column(columnDefinition="serial")
    private int id;
}
Run Code Online (Sandbox Code Playgroud)

看来,使用@Column(columnDefinition="serial")主键会自动将引用它的外键设置到NOT NULL数据库中.将列类型指定为时,这确实是预期的行为serial吗?在这种情况下,是否有解决方案来启用可为空的外键?

先感谢您.

nullable many-to-one jpa-2.0 postgresql-9.1 jboss7.x

17
推荐指数
2
解决办法
3万
查看次数

JBoss EAP 6.x了解部署阶段 - ResourceAdapters,EJB,jar,war

在JBoss中,部署阶段的顺序如何?对象被实例化并可以使用的顺序是什么?考虑企业应用程序(*.ear),检查所有部署日志(server.log),部署阶段如下所示:

  1. 部署了所有 - .class文件已加载并可用;
  2. 部署了所有*.jar模块 - .class文件已加载且可用;
  3. 如果某些*.jarEJB Jar,则通过配置文件(例如ejb-jar.xml)或注释创建JNDI树;
  4. 如果某些*.jar具有persistence.xml文件配置,则会加载所有实体和数据源链接;
  5. 所有*.war模块都会启动部署阶段;
  6. 通过配置文件(web.xml),加载了侦听器和上下文根,最终加载了安全性方面.
  7. 部署成功.

问题:

  • 那么资源适配器模块,PersistenceContext和EJB Pool呢?
  • 找到persistence.xml后,是否会启动与数据源的连接以及数据库池的连接?
  • 由于数据源(DB)是在standalone.xmlor中配置的domain.xml,当发生第一次连接到DB池时?当我注入PersistenceContext并使用EntityManager?
  • 何时加载EJB池并可以使用?
  • 可以说在EJB jar部署期间,JNDI树是否已创建然后可用?
  • 当发现EJB时,它被加载到池中(作为注入/查找的引用)?

当.war模块已部署并准备就绪时,即使尚未完成.ear的完全部署,也可能从容器启动servlet或侦听器.

  • 如果某些对象(侦听器,servlet)尝试使用EJB或PersistenceContext或其他对象会发生什么?这些物品可用吗?
  • 是否可能出现死锁问题并挂起部署线程/阶段?

deployment ejb jboss7.x jboss-eap-6

17
推荐指数
1
解决办法
1377
查看次数

JBoss AS 7.1 - datasource如何加密密码

在JBoss AS 5中,我在*-ds.xml中定义了一个数据源,但是将用户名/加密密码放在*-jboss-beans.xml中.

现在在JBoss AS 7.1中,数据源在standalone.xml或domain.xml中定义.我在哪里将加密密码放在AS 7.1中?

换句话说,如何在AS 7中加密和保护明确的密码?

java security jboss password-protection jboss7.x

16
推荐指数
2
解决办法
3万
查看次数

AsynchronousDispatcher错误

我得到的错误,当我尝试上传正是基于关闭此处显示的实例文件 示例

错误是

为servlet com.testapp.rest.JaxRsActivator分配异常:java.lang.RuntimeException:无法找到类org.jboss.resteasy.core.AsynchronousDispatcher的公共构造函数

这意味着什么?

java jax-rs jboss7.x

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

以管理员身份登录Keycloak时"需要HTTPS"

在此输入图像描述

Keycloak (version 1.0.4.Final)JBOSS AS 7.1.1服务器中使用.服务器位于Amazon AWS上.

我能用keycloak启动jboss服务器.我可以在点击URL时看到keycloak默认屏幕 - ServerIP:8080/auth

但是当我点击Administration Console链接进入登录界面时.我正在翻页说 - HTTPS required

服务器在AWS上,更改为"ssl-required" : "none", General Adapter Config没有帮助.

如何解决这个问题?

编辑:我没有在keycloak-1.2.0.Beta1版本中遇到此问题.

jboss7.x keycloak

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

jboss 7 AS数据源的sqlserver

我在独立模式下运行jboss并将数据源设置standalone.xml为以下内容:

<datasource jndi-name="MyDenaliDS" pool-name="MyDenaliDs_Pool" enabled="true" jta="true" 
                                                   use-java-context="true" use-ccm="true">
    <connection-url>
        jdbc:sqlserver://myip:1433;databaseName=mydb;integratedSecurity=true
    </connection-url>
    <driver>
        sqljdbc
    </driver>
    <security>
        <user-name>
            username
        </user-name>
        <password>
            password
        </password>
    </security>
</datasource>
<drivers>
    <driver name="sqljdbc" module="com.microsoft.sqlserver.jdbc">
        <driver-class>
            com.microsoft.sqlserver.jdbc.SQLServerDataSource
        </driver-class>
    </driver>                    
</drivers>
Run Code Online (Sandbox Code Playgroud)

在文件夹中%jbosshome%\modules\com\microsoft\sqlserver\jdbc\我有sqljdb4.jar以下内容module.xml:

<?xml version="1.0" encoding="UTF-8"?>
<module name="com.microsoft.sqlserver.jdbc" xmlns="urn:jboss:module:1.0">
    <resources>
        <resource-root path="sqljdbc4.jar"/> 
     </resources>
     <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/> 
     </dependencies>
</module>
Run Code Online (Sandbox Code Playgroud)

当我启动jboss时它会给我以下错误:

> New missing/unsatisfied dependencies:    service
> jboss.jdbc-driver.sqljdbc (missing)
Run Code Online (Sandbox Code Playgroud)

任何人都知道我做错了什么或我错过了什么?

jboss datasource sqljdbc jboss7.x

15
推荐指数
3
解决办法
3万
查看次数

JBoss AS 7通过cli更新系统属性

我可以通过CLI界面读取系统属性

/system-property=propertyname:read-attribute(name="value")

有没有一种简单的方法可以通过CLI界面更新属性?

configuration jboss7.x

15
推荐指数
2
解决办法
2万
查看次数

没有EJB接收器可供处理

我正在使用EJB 3.0和JBoss AS 7.1.1 Final.我尝试将客户端连接到服务器时收到此错误:

Aug 15, 2012 12:05:00 PM org.jboss.ejb.client.EJBClient <clinit>
INFO: JBoss EJB Client version 1.0.5.Final
Exception in thread "main" java.lang.IllegalStateException: No EJB receiver available for handling 
[appName:GrahamsProjServer,modulename:GrahamsProjServer,distinctname:] combination for   invocation context org.jboss.ejb.client.EJBClientInvoc
ationContext@6a340101
    at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:584)
    at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:119)
    at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:181)
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:136)
    at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:121)
    at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:104)
    at $Proxy0.test(Unknown Source)
    at grahamsprojclient.main.Start.testItAll(Unknown Source)
    at grahamsprojclient.main.Start.main(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

这是我的standalone.xml:http://pastebin.com/BuvQ6f2H

这里是我的jboss-ejb-client.properties:http://pastebin.com/mKpqZuZJ

这是我的客户的代码:http://pastebin.com/wcVBZvKn

我的classpath确实包含jboss-ejb-client.properties.通过查看清单我确定了.

当我启动客户端时,服务器已经运行,服务器每次都会打印出来:

12:05:00,330 INFO [org.jboss.as.naming] (Remoting "h890bp1" task-3) JBAS011806: Channel end notification received, …

jboss ejb ejb-3.0 jboss7.x

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

使用HornetQ在JBoss 7中使用JMS队列的'持久'属性是什么意思?

在使用HornetQ在JBoss 7上配置JMS队列期间(基于standalone-full.xml配置),我注意到一个属性'持久'.

在此输入图像描述

我浏览了几个来源,其中许多人声称队列总是"持久",这意味着即使在发送时潜在的接收器处于非活动状态,也会始终传递消息.

JBoss 7 HornetQ中的这个属性是指临时队列吗?或者此属性是否指某种非临时非持久队列?

java jms java-ee hornetq jboss7.x

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

JBoss服务器7.1无法在Eclipse Luna中启动

我有Eclipse Luna 4.4.1和JBoss Server 7.1.问题是,当我启动服务器时,它永远不会启动,并且在很长一段时间后它会显示超时错误."JBoss无法在450秒内启动".

如何解决这个问题?

控制台显示以下输出,并在此处挂起很长时间:

12:47:54,100 INFO  [org.jboss.modules] JBoss Modules version 1.1.1.GA
12:47:54,438 INFO  [org.jboss.msc] JBoss MSC version 1.0.2.GA
12:47:54,552 INFO  [org.jboss.as] JBAS015899: JBoss AS 7.1.1.Final "Brontes" starting
Run Code Online (Sandbox Code Playgroud)

服务器永远不会启动.我已经更改了时间设置,但它从来没有帮助.

java eclipse jboss7.x eclipse-luna

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