Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with finding default transaction manager #44

Open
rkhir opened this issue Jun 21, 2021 · 0 comments
Open

Issues with finding default transaction manager #44

rkhir opened this issue Jun 21, 2021 · 0 comments

Comments

@rkhir
Copy link

rkhir commented Jun 21, 2021

Hello,
I'm using gradle to build the project, but I'm having issues running Keycloak cluster with metrics and perhaps it is related to not finding Jndi configurations.

Your help is highly appreciated:
The first issue I'm seeing is

java.lang.NoClassDefFoundError: org/eclipse/microprofile/config/ConfigProvider
        at org.infinispan.metrics.impl.MetricsCollectorFactory.construct(MetricsCollectorFactory.java:39) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.doInstantiateWrapper(BasicComponentRegistryImpl.java:191) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.instantiateWrapper(BasicComponentRegistryImpl.java:181) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.getComponent0(BasicComponentRegistryImpl.java:146) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.WireContext.get(WireContext.java:20) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.metrics.impl.CorePackageImpl$3.wire(CorePackageImpl.java:71) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.metrics.impl.CorePackageImpl$3.wire(CorePackageImpl.java:67) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeInjection(BasicComponentRegistryImpl.java:339) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.invokeInjection(BasicComponentRegistryImpl.java:347) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.doWireWrapper(BasicComponentRegistryImpl.java:236) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.wireWrapper(BasicComponentRegistryImpl.java:217) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.impl.BasicComponentRegistryImpl.registerComponent(BasicComponentRegistryImpl.java:376) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.factories.GlobalComponentRegistry.<init>(GlobalComponentRegistry.java:126) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:374) ~[infinispan-core-11.0.9.Final.jar:11.0.9.Final]
        at com.github.thomasdarimont.keycloak.embedded.EmbeddedKeycloakConfig.keycloakInfinispanCacheManager(EmbeddedKeycloakConfig.java:73) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at com.github.thomasdarimont.keycloak.embedded.EmbeddedKeycloakConfig$$EnhancerBySpringCGLIB$$a93c9a4b.CGLIB$keycloakInfinispanCacheManager$5(<generated>) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at com.github.thomasdarimont.keycloak.embedded.EmbeddedKeycloakConfig$$EnhancerBySpringCGLIB$$a93c9a4b$$FastClassBySpringCGLIB$$a13947e3.invoke(<generated>) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.3.7.jar:5.3.7]
        at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-5.3.7.jar:5.3.7]
        at com.github.thomasdarimont.keycloak.embedded.EmbeddedKeycloakConfig$$EnhancerBySpringCGLIB$$a93c9a4b.keycloakInfinispanCacheManager(<generated>) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
        at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
        at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1380) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1300) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:541) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1334) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1177) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:524) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.7.jar:5.3.7]
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:771) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:763) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:438) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:339) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1318) ~[spring-boot-2.4.6.jar:2.4.6]
        at KeycloakServerApplication.main(KeycloakServerApplication.java:12) ~[main/:na]
Caused by: java.lang.ClassNotFoundException: org.eclipse.microprofile.config.ConfigProvider
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) ~[na:na]
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[na:na]
        ... 60 common frames omitted

the other issue is related to Jndi

javax.naming.NamingException: Name java:jboss/TransactionManager not found
        at com.github.thomasdarimont.keycloak.embedded.support.KeycloakInitialContext.lambda$lookup$0(KeycloakInitialContext.java:28) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at java.base/java.util.Optional.orElseThrow(Optional.java:408) ~[na:na]
        at com.github.thomasdarimont.keycloak.embedded.support.KeycloakInitialContext.lookup(KeycloakInitialContext.java:28) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at java.naming/javax.naming.InitialContext.lookup(InitialContext.java:409) ~[na:na]
        at org.keycloak.transaction.JBossJtaTransactionManagerLookup.init(JBossJtaTransactionManagerLookup.java:44) ~[keycloak-services-13.0.1.jar:13.0.1]
        at org.keycloak.services.DefaultKeycloakSessionFactory.loadFactories(DefaultKeycloakSessionFactory.java:276) ~[keycloak-services-13.0.1.jar:13.0.1]
        at org.keycloak.services.DefaultKeycloakSessionFactory.init(DefaultKeycloakSessionFactory.java:100) ~[keycloak-services-13.0.1.jar:13.0.1]
        at org.keycloak.services.resources.KeycloakApplication.createSessionFactory(KeycloakApplication.java:218) ~[keycloak-services-13.0.1.jar:13.0.1]
        at org.keycloak.services.resources.KeycloakApplication.startup(KeycloakApplication.java:122) ~[keycloak-services-13.0.1.jar:13.0.1]
        at com.github.thomasdarimont.keycloak.embedded.support.SpringBootPlatformProvider.startup(SpringBootPlatformProvider.java:72) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at com.github.thomasdarimont.keycloak.embedded.support.SpringBootPlatformProvider.onApplicationEvent(SpringBootPlatformProvider.java:28) ~[embedded-keycloak-server-spring-boot-support-4.0.0.jar:4.0.0]
        at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378) ~[spring-context-5.3.7.jar:5.3.7]
        at org.springframework.boot.context.event.EventPublishingRunListener.running(EventPublishingRunListener.java:111) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplicationRunListeners.lambda$running$6(SpringApplicationRunListeners.java:79) ~[spring-boot-2.4.6.jar:2.4.6]
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) ~[na:na]
        at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplicationRunListeners.running(SpringApplicationRunListeners.java:79) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:354) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329) ~[spring-boot-2.4.6.jar:2.4.6]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1318) ~[spring-boot-2.4.6.jar:2.4.6]
        at KeycloakServerApplication.main(KeycloakServerApplication.java:12) ~[main/:na]

My application.yml

spring:
  datasource:
    username: root
    password: foo
    url: jdbc:postgresql://localhost:5432/postgres
    hikari:
      maximum-pool-size: 25
      minimum-idle: 1
    Driver-class-name: org.postgresql.Driver
  devtools:
    restart:
      enabled: false
  lifecycle:
    timeout-per-shutdown-phase: 20s
  liquibase:
    enabled: false

management:
  endpoints:
    web:

      base-path: "/manage"


logging:
  level:
    org.jgroups: DEBUG
    org.infinispan: DEBUG
    org.keycloak: DEBUG
    org.keycloak.services.managers.DefaultBruteForceProtector: DEBUG
    org.keycloak.services.scheduled.ClusterAwareScheduledTaskRunner: DEBUG
    org.keycloak.services.managers.UserSessionManager: DEBUG
    org.keycloak.timer.basic: DEBUG
    org.springframework: INFO


server:
  forward-headers-strategy: native
  port: 8080
  servlet:
    context-path: "/"
  shutdown: graceful

keycloak:
  custom:
    server:
      keycloak-path: "/auth"

    infinispan:
      configLocation: "classpath:infinispan.xml"
      cacheManager: jndi

    adminUser:
      username: admin
      password: admin
      create-admin-user-enabled: true

    migration:
      importProvider: singleFile
      importLocation: keycloak-realm-config.json
   # # -Dkeycloak.migration.strategy=OVERWRITE_EXISTING
   # # -Dkeycloak.migration.strategy=IGNORE_EXISTING

  hostname:
    provider: "default"
    default:
      frontendUrl: ""
      adminUrl: ""
      forceBackendUrlToFrontendUrl: false

  admin:
    realm: "master"

  eventsStore:
    provider: "jpa"

  eventsListener:
    "jboss-logging":
      "success-level": "info"
      "error-level": "warn"

  realm:
    provider: "jpa"

  user:
    provider: "jpa"

  userFederatedStorage:
    provider: "jpa"

  userSessionPersister:
    provider: "jpa"

  authorizationPersister:
    provider: "jpa"

  userCache:
    default:
      enabled: true

  timer:
    provider: "basic"

  theme:
    staticMaxAge: "2592000"
    cacheTemplates: true
    cacheThemes: true
    folder:
      enabled: false
      dir: ""

  scheduled:
    interval: 900

  connectionsHttpClient:
    default: {}

  connectionsJpa:
    provider: "default"
    default:
      dataSource: "spring/datasource"
      initializeEmpty: true
      migrationStrategy: "update"
      showSql: false
      formatSqlSql: true
      globalStatsInterval: -1

  realmCache:
    default:
      enabled: true

  mapStorage:
    provider: concurrenthashmap

  client:
    provider: jpa

  role:
    provider: jpa

  connectionsInfinispan:
    default:
      jgroupsUdpMcastAddr: "234.56.78.90"
      nodeName: "localhost"
      siteName: ""
      clustered: fase
      async: false
      sessionsOwners: 1
      l1Lifespan: 600000
      remoteStoreEnabled: false
      remoteStoreHost: "localhost"
      remoteStorePort: 11222
      hotrodProtocolVersion: ""

  scripting: {}

  "jta-lookup":
    provider: "jboss"
    jboss:
      enabled: true

  "login-protocol":
    "saml":
      "knownProtocols": ["http=${server.port}", "https=${server.port}"]

  "x509cert-lookup":
    provider: "default"
    default:
      enabled: true

      haproxy:
        enabled: true
        sslClientCert: "x-ssl-client-cert"
        sslCertChainPrefix: "x-ssl-client-cert-chain"
        certificateChainLength: 1

      apache:
        enabled: true
        sslClientCert: "x-ssl-client-cert"
        sslCertChainPrefix: "x-ssl-client-cert-chain"
        certificateChainLength: 1

      nginx:
        enabled: true
        sslClientCert: "x-ssl-client-cert"
        sslCertChainPrefix: "x-ssl-client-cert-chain"
        certificateChainLength: 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant