我已将我的应用程序从JSF 1.2迁移到2.2.
它在java.sun.com域 上使用XML命名空间xmlns:f="http://java.sun.com/jsf/core".但是,Oracle的Java EE 7教程正在使用xmlns.jcp.org域名
上的XML命名空间xmlns:f="http://xmlns.jcp.org/jsf/core".
推荐哪一个,为什么会改变?
我们需要从旧版本 3.4 导出和导入配置到新的 Keycloak 版本 5。但它在导入时显示错误:
{"errorMessage":"角色定义中不存在应用:领域管理"}
是否有任何选项可以将领域导入新版本?
我在使用JPA over Hibernate运行Java EE应用程序时,在PostgreSQL(9.2)日志中遇到以下错误:
错误:具有标识符制备交易 "131077_AAAAAAAAAAAAAP // // fwAAAd5tKPBVp1XeAAAzfmx0Y2hpZS1ub2Rl_AAAAAAAAAAAAAP fwAAAd5tKPBVp1XeAAAzpwAAAAAAAAAA" 不存在声明:回滚PREPARED '131077_AAAAAAAAAAAAAP // // fwAAAd5tKPBVp1XeAAAzfmx0Y2hpZS1ub2Rl_AAAAAAAAAAAAAP fwAAAd5tKPBVp1XeAAAzpwAAAAAAAAAA'
如何优化设置以避免此错误?这种情况间歇性地发生.
从 EJB 单例 bean 读取方法时出现以下异常。即使设置了 60 秒超时,异常仍显示 5000 毫秒。如何增加这个时间限制?
原因:javax.ejb.ConcurrentAccessTimeoutException:WFLYEJB0241:EJB 3.1 PFD2 4.8.5.5.1 TestBean 上的并发访问超时 - 无法在 5000MILLISECONDS 内获取锁定
这是 bean 的超时设置:
@AccessTimeout(value = 60, unit = TimeUnit.SECONDS)
@Lock(LockType.READ)
public class TestBean {
Run Code Online (Sandbox Code Playgroud) 升级后我们得到了OutOfMemoryError.JVM设置与Java 7保持一致,工作正常.
以下是Jboss 4.2服务器中的设置:
-server -Dsun.rmi.dgc.client.gcInterval = 3600000 -Dsun.rmi.dgc.server.gcInterval = 3600000 -Xms4096m -Xmx7168m -XX:MaxMetaspaceSize = 512m -XX:+ UseConcMarkSweepGC -XX:+ CMSClassUnloadingEnabled -Djava.security .egd =文件:///开发/ urandom的
只有Java 7中的差异是XX:MaxMetaspaceSize = 512m被PermGen max替换.
我想知道为什么它需要更多的Metaspace进行类加载,因为服务器和应用程序是相同的,只有Java版本的更改.
将服务器端客户端的访问类型更改为机密后,我面临以下问题。它在公共类型上运行良好。
这是我的适配器设置:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
<secure-deployment name="appWEB.war">
<realm>demo</realm>
<resource>app</resource>
<public-client>true</public-client>
<auth-server-url>http://localhost:8180/auth</auth-server-url>
<ssl-required>EXTERNAL</ssl-required>
<principal-attribute>preferred_username</principal-attribute>
<use-resource-role-mappings>true</use-resource-role-mappings>
<credential name="secret">b35f1121-93a4-4483-a70a-0048b95fd250</credential>
</secure-deployment>
</subsystem>
Run Code Online (Sandbox Code Playgroud)
这是登录时在日志中发现的错误:
[Server:node-00] 17:29:06,924 ERROR [org.keycloak.adapters.OAuthRequestAuthenticator](默认 task-6)未能将代码转换为令牌 [Server:-node-00] 17:29:06,924 ERROR [org .keycloak.adapters.OAuthRequestAuthenticator](默认任务 6)来自服务器的状态:400 [Server:node-00] 17:29:06,924 错误 [org.keycloak.adapters.OAuthRequestAuthenticator] {"error":"unauthorized_client"," error_description":"请求中未提供客户端机密"}
有什么想法吗?
我们在旧版本中使用 -b 0.0.0.0 完成了此操作。但是当我们在 WildFly 中设置这个地址时它失败了。在 WildFly-8.2 中执行此操作的替代方法是什么?
在 WildFly 10 中部署 ear 时出现以下异常。安装了 Apapter,因此 ear 中不包含 jars,也没有设置依赖项。
由:java.lang.NoClassDefFoundError:org/keycloak/KeycloakPrincipal 由:java.lang.ClassNotFoundException:org.keycloak.KeycloakPrincipal from [Module \"deployment.app.ear.appEJB.jar:main\" from Service Module Loader ]"}, "WFLYCTL0412:未安装所需的服务:" => [ "jboss.undertow.deployment.default-server.default-host./App" ]
这个问题只出现在 appEJB.jar 中的类中。appWEB.war 中的类没有依赖问题。这是我的子系统配置:
<subsystem xmlns="urn:jboss:domain:keycloak:1.1">
<secure-deployment name="appWEB.war">
<realm>demo</realm>
<resource>app</resource>
<use-resource-role-mappings>true</use-resource-role-mappings>
<public-client>true</public-client>
<auth-server-url>http://localhost:8180/auth</auth-server-url>
<ssl-required>EXTERNAL</ssl-required>
<principal-attribute>preferred_username</principal-attribute>
</secure-deployment>
</subsystem>
Run Code Online (Sandbox Code Playgroud)
有没有其他方法可以在子系统中配置耳朵部署,以便 ejb.jar 也隐式获取 Keycloak 库?