This is an automated email from the ASF dual-hosted git repository. yasith pushed a commit to branch cybershuttle-dev in repository https://gitbox.apache.org/repos/asf/airavata.git
commit de25688a32d9ee99801f7236e0b5b752d18c53a6 Author: yasithdev <[email protected]> AuthorDate: Fri Mar 21 03:23:36 2025 +0000 migrate openjpa to hibernate, update pool and dbcp deps to pool2 and dbcp2. --- .vscode/launch.json | 3 +- .../profile-service-commons/pom.xml | 33 +-------- .../src/main/resources/META-INF/persistence.xml | 6 +- .../profile-service/profile-user-core/pom.xml | 20 ------ .../service/controllers/ExperimentController.java | 7 +- modules/commons/pom.xml | 14 ++-- .../org/apache/airavata/common/utils/DBUtil.java | 2 +- .../org/apache/airavata/common/utils/JPAUtils.java | 39 +++++----- .../credential-store-service/pom.xml | 6 +- modules/distribution/pom.xml | 14 +--- .../src/main/assembly/controller-bin-assembly.xml | 6 +- .../main/assembly/email-monitor-bin-assembly.xml | 1 - .../src/main/assembly/parser-wm-bin-assembly.xml | 5 +- .../src/main/assembly/participant-bin-assembly.xml | 6 +- .../src/main/assembly/post-wm-bin-assembly.xml | 5 +- .../src/main/assembly/pre-wm-bin-assembly.xml | 5 +- .../assembly/realtime-monitor-bin-assembly.xml | 5 +- .../src/main/resources/airavata-server.properties | 4 +- .../ide-integration/src/main/resources/log4j2.xml | 4 +- modules/registry/registry-core/pom.xml | 33 +-------- .../entities/appcatalog/AppEnvironmentEntity.java | 6 +- .../appcatalog/ApplicationInputEntity.java | 5 +- .../appcatalog/ApplicationOutputEntity.java | 5 +- .../appcatalog/BatchQueueResourcePolicyEntity.java | 14 +--- .../appcatalog/ComputeResourcePolicyEntity.java | 17 +---- .../ComputeResourceReservationEntity.java | 6 +- .../appcatalog/GroupComputeResourcePrefEntity.java | 5 +- .../GroupSSHAccountProvisionerConfig.java | 6 +- .../appcatalog/LibraryApendPathEntity.java | 6 +- .../appcatalog/LibraryPrependPathEntity.java | 6 +- .../entities/appcatalog/ModuleLoadCmdEntity.java | 7 +- .../entities/appcatalog/PostjobCommandEntity.java | 6 +- .../entities/appcatalog/PrejobCommandEntity.java | 6 +- .../core/utils/migration/MappingToolRunner.java | 83 +++++++++++++++------- .../src/main/resources/META-INF/persistence.xml | 17 +++-- .../mysql/airavata-server.properties | 6 +- .../main/java/generators/JPAClassGenerator.java | 4 +- modules/security/pom.xml | 6 +- .../sharing-registry-distribution/pom.xml | 6 +- .../sharing-registry-server/pom.xml | 33 +-------- .../src/main/resources/META-INF/persistence.xml | 5 +- pom.xml | 52 +++++++++++--- 42 files changed, 199 insertions(+), 326 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 9a39c30cdc..4f0156fb07 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,8 +5,7 @@ "name": "Start API Server", "request": "launch", "cwd": "${workspaceFolder}/modules/ide-integration", - "mainClass": "org.apache.airavata.ide.integration.APIServerStarter", - "vmArgs": "-javaagent:/home/vscode/.m2/repository/org/apache/openjpa/openjpa/4.0.1/openjpa-4.0.1.jar", + "mainClass": "org.apache.airavata.ide.integration.APIServerStarter" }, { "type": "java", diff --git a/airavata-services/profile-service/profile-service-commons/pom.xml b/airavata-services/profile-service/profile-service-commons/pom.xml index b1217453d5..d6be72e59d 100644 --- a/airavata-services/profile-service/profile-service-commons/pom.xml +++ b/airavata-services/profile-service/profile-service-commons/pom.xml @@ -56,9 +56,9 @@ </exclusions> </dependency> <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernate-core.version}</version> </dependency> <dependency> <groupId>com.mysql</groupId> @@ -97,33 +97,6 @@ <release>17</release> </configuration> </plugin> - <plugin> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa-maven-plugin</artifactId> - <version>${openjpa.maven.plugin.version}</version> - <configuration> - <includes>**/entities/*.class</includes> - <excludes>**/entities/XML*.class</excludes> - <addDefaultConstructor>true</addDefaultConstructor> - <enforcePropertyRestrictions>true</enforcePropertyRestrictions> - </configuration> - <executions> - <execution> - <id>enhancer</id> - <phase>process-classes</phase> - <goals> - <goal>enhance</goal> - </goals> - </execution> - </executions> - <dependencies> - <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> - </dependency> - </dependencies> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> diff --git a/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml b/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml index 08c9bed003..e02cca810e 100644 --- a/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml +++ b/airavata-services/profile-service/profile-service-commons/src/main/resources/META-INF/persistence.xml @@ -21,16 +21,14 @@ * --> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <persistence-unit name="profile_service"> - <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.apache.airavata.service.profile.commons.user.entities.UserProfileEntity</class> <class>org.apache.airavata.service.profile.commons.user.entities.NSFDemographicsEntity</class> <class>org.apache.airavata.service.profile.commons.user.entities.CustomizedDashboardEntity</class> <class>org.apache.airavata.service.profile.commons.tenant.entities.GatewayEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> - <properties> - <property name="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade" /> + <property name="hibernate.cascade" value="all"/> </properties> </persistence-unit> </persistence> diff --git a/airavata-services/profile-service/profile-user-core/pom.xml b/airavata-services/profile-service/profile-user-core/pom.xml index d187dfd8cf..c50b37af0c 100644 --- a/airavata-services/profile-service/profile-user-core/pom.xml +++ b/airavata-services/profile-service/profile-user-core/pom.xml @@ -61,26 +61,6 @@ <fork>true</fork> </configuration> </plugin> - <plugin> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa-maven-plugin</artifactId> - <version>${openjpa.maven.plugin.version}</version> - <configuration> - <includes>**/entities/*.class</includes> - <excludes>**/entities/XML*.class</excludes> - <addDefaultConstructor>true</addDefaultConstructor> - <enforcePropertyRestrictions>true</enforcePropertyRestrictions> - </configuration> - <executions> - <execution> - <id>enhancer</id> - <phase>process-classes</phase> - <goals> - <goal>enhance</goal> - </goals> - </execution> - </executions> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> diff --git a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java index 8a2b83e4a0..496993aa89 100644 --- a/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java +++ b/modules/agent-framework/agent-service/src/main/java/org/apache/airavata/agent/connection/service/controllers/ExperimentController.java @@ -1,5 +1,7 @@ package org.apache.airavata.agent.connection.service.controllers; +import java.util.List; + import org.apache.airavata.agent.connection.service.handlers.AgentManagementHandler; import org.apache.airavata.agent.connection.service.models.AgentLaunchRequest; import org.apache.airavata.agent.connection.service.models.AgentLaunchResponse; @@ -10,6 +12,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -17,10 +20,6 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; - -import org.springframework.validation.annotation.Validated; - @RestController @RequestMapping("/api/v1/exp") public class ExperimentController { diff --git a/modules/commons/pom.xml b/modules/commons/pom.xml index 299b0eb097..53c1fe9f1f 100644 --- a/modules/commons/pom.xml +++ b/modules/commons/pom.xml @@ -52,9 +52,9 @@ <version>${xpp5.version}</version> </dependency> <dependency> - <groupId>commons-dbcp</groupId> - <artifactId>commons-dbcp</artifactId> - <version>${commons-dbcp.version}</version> + <groupId>org.apache.commons</groupId> + <artifactId>commons-dbcp2</artifactId> + <version>${commons-dbcp2.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> @@ -112,9 +112,9 @@ </exclusions> </dependency> <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernate-core.version}</version> </dependency> <!-- Testing --> <dependency> @@ -161,7 +161,7 @@ <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> - <version>${jaxb.version}</version> + <version>${jaxb-api.version}</version> </dependency> </dependencies> <properties> diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java index 87757326eb..0b8ee26dbc 100644 --- a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java +++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBUtil.java @@ -20,7 +20,7 @@ package org.apache.airavata.common.utils; import org.apache.airavata.common.exception.ApplicationSettingsException; -import org.apache.commons.dbcp.BasicDataSource; +import org.apache.commons.dbcp2.BasicDataSource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java index b71d3f7ae7..7d770f5f04 100644 --- a/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java +++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/JPAUtils.java @@ -18,20 +18,14 @@ public class JPAUtils { private final static Logger logger = LoggerFactory.getLogger(JPAUtils.class); private final static Map<String, String> DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES; static { - Map<String, String> properties = new HashMap<String, String>(); - properties.put("openjpa.ConnectionDriverName", "org.apache.commons.dbcp.BasicDataSource"); - properties.put("openjpa.DynamicEnhancementAgent", "true"); - properties.put("openjpa.RuntimeUnenhancedClasses", "unsupported"); - properties.put("openjpa.RemoteCommitProvider", "sjvm"); - properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO"); - // use the following to enable logging of all SQL statements - // properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, Tool=INFO, - // SQL=TRACE"); - properties.put("openjpa.jdbc.SynchronizeMappings", "validate"); - properties.put("openjpa.jdbc.QuerySQLCache", "false"); - properties.put("openjpa.DetachState", "all"); - properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72," - + " PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000, autoReconnect=true"); + Map<String, String> properties = new HashMap<>(); + properties.put("hibernate.dialect", "org.hibernate.dialect.MySQLDialect"); + properties.put("hibernate.hbm2ddl.auto", "validate"); + properties.put("hibernate.dbcp2.initialSize", "5"); + properties.put("hibernate.dbcp2.maxTotal", "20"); + properties.put("hibernate.dbcp2.maxIdle", "10"); + properties.put("hibernate.dbcp2.minIdle", "2"); + properties.put("hibernate.dbcp2.maxWaitMillis", "5000"); DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES = properties; } @@ -43,7 +37,6 @@ public class JPAUtils { * @return {@link EntityManagerFactory} */ public static EntityManagerFactory getEntityManagerFactory(String persistenceUnitName, JDBCConfig jdbcConfig) { - return getEntityManagerFactory(persistenceUnitName, jdbcConfig, DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES); } @@ -59,17 +52,23 @@ public class JPAUtils { public static EntityManagerFactory getEntityManagerFactory(String persistenceUnitName, JDBCConfig jdbcConfig, Map<String, String> properties) { - Map<String, String> finalProperties = new HashMap<>(DEFAULT_ENTITY_MANAGER_FACTORY_PROPERTIES); + Map<String, String> finalProperties = new HashMap<>(); finalProperties.putAll(createConnectionProperties(jdbcConfig)); finalProperties.putAll(properties); return Persistence.createEntityManagerFactory(persistenceUnitName, finalProperties); } public static Map<String, String> createConnectionProperties(JDBCConfig jdbcConfig) { - String connectionProperties = "DriverClassName=" + jdbcConfig.getDriver() + "," + "Url=" + jdbcConfig.getURL() - + "?autoReconnect=true," + "Username=" + jdbcConfig.getUser() + "," + "Password=" - + jdbcConfig.getPassword() + ",validationQuery=" + jdbcConfig.getValidationQuery(); + Map<String, String> connectionProperties = new HashMap<>(); + connectionProperties.put("hibernate.connection.provider_class", "org.apache.commons.dbcp2.BasicDataSource"); + connectionProperties.put("hibernate.connection.driver_class", jdbcConfig.getDriver()); + connectionProperties.put("hibernate.connection.url", jdbcConfig.getURL() + "?autoReconnect=true"); + connectionProperties.put("hibernate.connection.username", jdbcConfig.getUser()); + connectionProperties.put("hibernate.connection.password", jdbcConfig.getPassword()); + if (jdbcConfig.getValidationQuery() != null && !jdbcConfig.getValidationQuery().isEmpty()) { + connectionProperties.put("hibernate.connection.validationQuery", jdbcConfig.getValidationQuery()); + } logger.debug("Connection properties={}", connectionProperties); - return Collections.singletonMap("openjpa.ConnectionProperties", connectionProperties); + return connectionProperties; } } diff --git a/modules/credential-store/credential-store-service/pom.xml b/modules/credential-store/credential-store-service/pom.xml index 062a2bcf16..bcf5ea8ca6 100644 --- a/modules/credential-store/credential-store-service/pom.xml +++ b/modules/credential-store/credential-store-service/pom.xml @@ -109,9 +109,9 @@ <scope>test</scope> </dependency> <dependency> - <groupId>commons-dbcp</groupId> - <artifactId>commons-dbcp</artifactId> - <version>${commons-dbcp.version}</version> + <groupId>org.apache.commons</groupId> + <artifactId>commons-dbcp2</artifactId> + <version>${commons-dbcp2.version}</version> </dependency> <dependency> <groupId>org.apache.airavata</groupId> diff --git a/modules/distribution/pom.xml b/modules/distribution/pom.xml index 236aae1fbf..5523c0c0ad 100644 --- a/modules/distribution/pom.xml +++ b/modules/distribution/pom.xml @@ -194,9 +194,9 @@ <artifactId>bcprov-jdk18on</artifactId> </dependency> <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernate-core.version}</version> </dependency> <dependency> @@ -417,14 +417,6 @@ <artifactId>realtime-monitor</artifactId> <version>${project.version}</version> </dependency> - - <!-- For thrift client pool --> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-pool2</artifactId> - </dependency> - - <!-- For Helix --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> diff --git a/modules/distribution/src/main/assembly/controller-bin-assembly.xml b/modules/distribution/src/main/assembly/controller-bin-assembly.xml index ff3919e8af..d266014715 100644 --- a/modules/distribution/src/main/assembly/controller-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/controller-bin-assembly.xml @@ -90,12 +90,12 @@ <include>commons-cli:commons-cli:jar</include> <include>commons-codec:commons-codec:jar</include> <include>commons-collections:commons-collections:jar</include> - <include>commons-dbcp:commons-dbcp:jar</include> + <include>org.apache.commons:commons-dbcp2:jar</include> + <include>org.apache.commons:commons-pool2:jar</include> <include>commons-io:commons-io:jar</include> <include>commons-lang:commons-lang:jar</include> <include>commons-logging:commons-logging:jar</include> <include>org.apache.commons:commons-math:jar</include> - <include>commons-pool:commons-pool:jar</include> <include>org.apache.curator:curator-client:jar</include> <include>org.apache.curator:curator-framework:jar</include> <include>org.apache.derby:derby:jar</include> @@ -161,8 +161,6 @@ <include>org.apache.zookeeper:zookeeper-jute:jar</include> <include>io.netty:netty-handler:jar</include> <include>org.apache.logging.log4j:log4j-slf4j2-impl:jar</include> - - <include>org.apache.commons:commons-pool2:jar</include> <include>org.json:json:jar</include> <include>org.apache.airavata:platform-monitoring:jar</include> diff --git a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml index 116dc2245e..abc4584f15 100644 --- a/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/email-monitor-bin-assembly.xml @@ -88,7 +88,6 @@ <include>org.apache.airavata:airavata-commons:jar</include> <include>commons-cli:commons-cli</include> - <include>commons-pool:commons-pool</include> <include>org.apache.airavata:airavata-data-models:jar</include> <include>org.apache.thrift:libthrift:jar</include> diff --git a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml index 3374be8b95..aee16e42bf 100644 --- a/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/parser-wm-bin-assembly.xml @@ -90,12 +90,12 @@ <include>commons-cli:commons-cli:jar</include> <include>commons-codec:commons-codec:jar</include> <include>commons-collections:commons-collections:jar</include> - <include>commons-dbcp:commons-dbcp:jar</include> + <include>org.apache.commons:commons-dbcp2:jar</include> + <include>org.apache.commons:commons-pool2:jar</include> <include>commons-io:commons-io:jar</include> <include>commons-lang:commons-lang:jar</include> <include>commons-logging:commons-logging:jar</include> <include>org.apache.commons:commons-math:jar</include> - <include>commons-pool:commons-pool:jar</include> <include>org.apache.curator:curator-client:jar</include> <include>org.apache.curator:curator-framework:jar</include> <include>org.apache.derby:derby:jar</include> @@ -160,7 +160,6 @@ <include>com.101tec:zkclient:jar</include> <include>org.apache.zookeeper:zookeeper:jar</include> <include>com.github.docker-java:docker-java:jar</include> - <include>org.apache.commons:commons-pool2:jar</include> <include>org.json:json:jar</include> <include>org.apache.airavata:platform-monitoring:jar</include> diff --git a/modules/distribution/src/main/assembly/participant-bin-assembly.xml b/modules/distribution/src/main/assembly/participant-bin-assembly.xml index 1fd4fa32e9..0c07619ab7 100644 --- a/modules/distribution/src/main/assembly/participant-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/participant-bin-assembly.xml @@ -92,12 +92,12 @@ <include>commons-cli:commons-cli:jar</include> <include>commons-codec:commons-codec:jar</include> <include>commons-collections:commons-collections:jar</include> - <include>commons-dbcp:commons-dbcp:jar</include> + <include>org.apache.commons:commons-dbcp2:jar</include> + <include>org.apache.commons:commons-pool2:jar</include> <include>commons-io:commons-io:jar</include> <include>commons-lang:commons-lang:jar</include> <include>commons-logging:commons-logging:jar</include> <include>org.apache.commons:commons-math:jar</include> - <include>commons-pool:commons-pool:jar</include> <include>org.apache.curator:curator-client:jar</include> <include>org.apache.curator:curator-framework:jar</include> <include>org.apache.derby:derby:jar</include> @@ -208,8 +208,6 @@ <include>io.netty:netty-common:jar</include> <include>io.netty:netty-transport-native-unix-common:jar</include> <include>io.netty:netty-transport-native-kqueue:jar</include> - - <include>org.apache.commons:commons-pool2:jar</include> <include>org.json:json:jar</include> <include>org.apache.airavata:platform-monitoring:jar</include> diff --git a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml index 5e179aa199..5a486eef9a 100644 --- a/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/post-wm-bin-assembly.xml @@ -90,12 +90,12 @@ <include>commons-cli:commons-cli:jar</include> <include>commons-codec:commons-codec:jar</include> <include>commons-collections:commons-collections:jar</include> - <include>commons-dbcp:commons-dbcp:jar</include> + <include>org.apache.commons:commons-dbcp2:jar</include> + <include>org.apache.commons:commons-pool2:jar</include> <include>commons-io:commons-io:jar</include> <include>commons-lang:commons-lang:jar</include> <include>commons-logging:commons-logging:jar</include> <include>org.apache.commons:commons-math:jar</include> - <include>commons-pool:commons-pool:jar</include> <include>org.apache.curator:curator-client:jar</include> <include>org.apache.curator:curator-framework:jar</include> <include>org.apache.derby:derby:jar</include> @@ -166,7 +166,6 @@ <include>io.netty:netty-handler:jar</include> <include>org.apache.logging.log4j:log4j-slf4j2-impl:jar</include> <include>org.apache.airavata:airavata-security:jar</include> - <include>org.apache.commons:commons-pool2:jar</include> <include>org.json:json:jar</include> <include>org.apache.airavata:platform-monitoring:jar</include> diff --git a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml index 8ac2782c03..8931e9c43e 100644 --- a/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/pre-wm-bin-assembly.xml @@ -90,12 +90,12 @@ <include>commons-cli:commons-cli:jar</include> <include>commons-codec:commons-codec:jar</include> <include>commons-collections:commons-collections:jar</include> - <include>commons-dbcp:commons-dbcp:jar</include> + <include>org.apache.commons:commons-dbcp2:jar</include> + <include>org.apache.commons:commons-pool2:jar</include> <include>commons-io:commons-io:jar</include> <include>commons-lang:commons-lang:jar</include> <include>commons-logging:commons-logging:jar</include> <include>org.apache.commons:commons-math:jar</include> - <include>commons-pool:commons-pool:jar</include> <include>org.apache.curator:curator-client:jar</include> <include>org.apache.curator:curator-framework:jar</include> <include>org.apache.derby:derby:jar</include> @@ -166,7 +166,6 @@ <include>org.apache.airavata:services-security:jar</include> <include>org.apache.airavata:airavata-sharing-registry-stubs:jar</include> <include>org.apache.airavata:airavata-security:jar</include> - <include>org.apache.commons:commons-pool2:jar</include> <include>org.json:json:jar</include> <include>org.apache.airavata:platform-monitoring:jar</include> <include>io.prometheus:simpleclient:jar</include> diff --git a/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml b/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml index 0d32b253cd..e347e9e832 100644 --- a/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml +++ b/modules/distribution/src/main/assembly/realtime-monitor-bin-assembly.xml @@ -88,7 +88,6 @@ <include>org.apache.airavata:airavata-commons:jar</include> <include>org.apache.airavata:airavata-data-models:jar</include> <include>commons-cli:commons-cli</include> - <include>commons-pool:commons-pool</include> <include>org.apache.thrift:libthrift:jar</include> <!-- kafka specific jars --> @@ -115,10 +114,8 @@ <include>org.apache.logging.log4j:log4j-core</include> <include>org.apache.logging.log4j:log4j-slf4j2-impl</include> <include>org.apache.logging.log4j:log4j-1.2-api</include> - - <include>org.apache.commons:commons-pool2:jar</include> <include>org.json:json:jar</include> - + <include>org.apache.commons:commons-pool2:jar</include> <include>org.apache.airavata:platform-monitoring:jar</include> <include>io.prometheus:simpleclient:jar</include> <include>io.prometheus:simpleclient_httpserver:jar</include> diff --git a/modules/ide-integration/src/main/resources/airavata-server.properties b/modules/ide-integration/src/main/resources/airavata-server.properties index 95fe8ef53b..560a522b55 100644 --- a/modules/ide-integration/src/main/resources/airavata-server.properties +++ b/modules/ide-integration/src/main/resources/airavata-server.properties @@ -37,7 +37,7 @@ registry.jdbc.password=123456 start.derby.server.mode=false validationQuery=SELECT 1 from CONFIGURATION cache.enable=false -jpa.cache.size=-1 +#jpa.cache.size=-1 #jpa.connection.properties=MaxActive=10,MaxIdle=5,MinIdle=2,MaxWait=60000,testWhileIdle=true,testOnBorrow=true enable.sharing=true @@ -190,7 +190,7 @@ rabbitmq.experiment.exchange.name=experiment_exchange durable.queue=false prefetch.count=200 process.launch.queue.name=process.launch.queue -experiment.launch..queue.name=experiment.launch.queue +experiment.launch.queue.name=experiment.launch.queue ########################################################################### # Zookeeper Server Configuration diff --git a/modules/ide-integration/src/main/resources/log4j2.xml b/modules/ide-integration/src/main/resources/log4j2.xml index a06ff13d8a..39273e6d1f 100644 --- a/modules/ide-integration/src/main/resources/log4j2.xml +++ b/modules/ide-integration/src/main/resources/log4j2.xml @@ -44,9 +44,7 @@ <logger name="org.apache.helix" level="WARN"/> <logger name="org.apache.zookeeper" level="ERROR"/> <logger name="org.apache.airavata" level="INFO"/> - <logger name="org.hibernate" level="ERROR"/> - <logger name="org.apache.openjpa" level="DEBUG"/> - <logger name="org.apache.openjpa.enhance" level="DEBUG"/> + <logger name="org.hibernate" level="INFO"/> <Root level="INFO"> <AppenderRef ref="Console"/> <AppenderRef ref="RollingFileAppender"/> diff --git a/modules/registry/registry-core/pom.xml b/modules/registry/registry-core/pom.xml index 558ffc6b4e..93ac0a4af0 100644 --- a/modules/registry/registry-core/pom.xml +++ b/modules/registry/registry-core/pom.xml @@ -62,11 +62,10 @@ </exclusions> </dependency> <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernate-core.version}</version> </dependency> - <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> @@ -223,32 +222,6 @@ </execution> </executions> </plugin> - <plugin> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa-maven-plugin</artifactId> - <version>${openjpa.maven.plugin.version}</version> - <configuration> - <includes>**/model/*.class</includes> - <addDefaultConstructor>true</addDefaultConstructor> - <enforcePropertyRestrictions>true</enforcePropertyRestrictions> - </configuration> - <executions> - <execution> - <id>enhancer</id> - <phase>process-classes</phase> - <goals> - <goal>enhance</goal> - </goals> - </execution> - </executions> - <dependencies> - <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> - </dependency> - </dependencies> - </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java index 6678c8adcd..7f8d1b98cb 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java @@ -20,9 +20,6 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.*; import java.io.Serializable; @@ -49,9 +46,8 @@ public class AppEnvironmentEntity implements Serializable { @Column(name = "ENV_ORDER") private int envPathOrder; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class) + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "DEPLOYMENT_ID", nullable = false, updatable = false) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; public AppEnvironmentEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java index 469b6cb559..422b8f3091 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationInputEntity.java @@ -21,8 +21,6 @@ package org.apache.airavata.registry.core.entities.appcatalog; import org.apache.airavata.model.application.io.DataType; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; import jakarta.persistence.*; import java.io.Serializable; @@ -83,9 +81,8 @@ public class ApplicationInputEntity implements Serializable { @Column(name = "OVERRIDE_FILENAME") private String overrideFilename; - @ManyToOne(targetEntity = ApplicationInterfaceEntity.class) + @ManyToOne(targetEntity = ApplicationInterfaceEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "INTERFACE_ID", nullable = false, updatable = false) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationInterfaceEntity applicationInterface; public ApplicationInputEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java index 23f7c0db7b..1b85b8ba5c 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ApplicationOutputEntity.java @@ -21,8 +21,6 @@ package org.apache.airavata.registry.core.entities.appcatalog; import org.apache.airavata.model.application.io.DataType; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; import jakarta.persistence.*; import java.io.Serializable; @@ -75,9 +73,8 @@ public class ApplicationOutputEntity implements Serializable { @Column(name = "METADATA", length = 4096) private String metaData; - @ManyToOne(targetEntity = ApplicationInterfaceEntity.class) + @ManyToOne(targetEntity = ApplicationInterfaceEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "INTERFACE_ID", nullable = false, updatable = false) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationInterfaceEntity applicationInterface; public ApplicationOutputEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java index 4fb190f0f1..a71db03771 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java @@ -20,15 +20,8 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - -import jakarta.persistence.Column; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; +import jakarta.persistence.*; + import java.io.Serializable; /** @@ -62,9 +55,8 @@ public class BatchQueueResourcePolicyEntity implements Serializable { @Column(name = "MAX_ALLOWED_WALLTIME") private Integer maxAllowedWalltime; - @ManyToOne(targetEntity = GroupResourceProfileEntity.class) + @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private GroupResourceProfileEntity groupResourceProfile; public BatchQueueResourcePolicyEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java index 6da5d37fe0..714fdc5667 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java @@ -20,18 +20,8 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - -import jakarta.persistence.CollectionTable; -import jakarta.persistence.Column; -import jakarta.persistence.ElementCollection; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.Id; -import jakarta.persistence.JoinColumn; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.Table; +import jakarta.persistence.*; + import java.io.Serializable; import java.util.List; @@ -61,9 +51,8 @@ public class ComputeResourcePolicyEntity implements Serializable { @Column(name = "QUEUE_NAME") private List<String> allowedBatchQueues; - @ManyToOne(targetEntity = GroupResourceProfileEntity.class) + @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private GroupResourceProfileEntity groupResourceProfile; public ComputeResourcePolicyEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java index 4ad124c3e1..61681e2bfe 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourceReservationEntity.java @@ -35,9 +35,6 @@ import jakarta.persistence.JoinColumns; import jakarta.persistence.ManyToOne; import jakarta.persistence.Table; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - /** * The persistent class for the COMPUTE_RESOURCE_RESERVATION database table. */ @@ -67,12 +64,11 @@ public class ComputeResourceReservationEntity implements Serializable { // TODO: FK queue table to BatchQueueEntity? - @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class) + @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class, cascade = CascadeType.ALL) @JoinColumns({ @JoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID", nullable = false, updatable = false), @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", referencedColumnName = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false) }) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private GroupComputeResourcePrefEntity groupComputeResourcePref; public ComputeResourceReservationEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java index f910d86ae7..696a3e7df3 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java @@ -21,8 +21,6 @@ package org.apache.airavata.registry.core.entities.appcatalog; import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; import org.apache.airavata.model.data.movement.DataMovementProtocol; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; import jakarta.persistence.CascadeType; import jakarta.persistence.Column; @@ -104,9 +102,8 @@ public class GroupComputeResourcePrefEntity implements Serializable { @OrderBy("startTime ASC") private List<ComputeResourceReservationEntity> reservations; - @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.PERSIST) + @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private GroupResourceProfileEntity groupResourceProfile; public GroupComputeResourcePrefEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java index e1f6d6488d..074904523b 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java @@ -19,9 +19,6 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.CascadeType; import jakarta.persistence.Column; import jakarta.persistence.Entity; @@ -58,12 +55,11 @@ public class GroupSSHAccountProvisionerConfig implements Serializable{ @Column(name = "CONFIG_VALUE") private String configValue; - @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class) + @ManyToOne(targetEntity = GroupComputeResourcePrefEntity.class, cascade = CascadeType.ALL) @JoinColumns({ @JoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID", nullable = false), @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", referencedColumnName = "GROUP_RESOURCE_PROFILE_ID", nullable = false) }) - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private GroupComputeResourcePrefEntity groupComputeResourcePref; public GroupSSHAccountProvisionerConfig() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java index cac0909c33..5074cfb797 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryApendPathEntity.java @@ -20,9 +20,6 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.*; import java.io.Serializable; @@ -47,9 +44,8 @@ public class LibraryApendPathEntity implements Serializable { @Column(name = "NAME") private String name; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE) + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "DEPLOYMENT_ID") - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; public LibraryApendPathEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java index 7c6b01b70b..9538894f0a 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/LibraryPrependPathEntity.java @@ -20,9 +20,6 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.*; import java.io.Serializable; @@ -48,9 +45,8 @@ public class LibraryPrependPathEntity implements Serializable { @Column(name="NAME") private String name; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE) + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "DEPLOYMENT_ID") - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; public LibraryPrependPathEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java index 6be32a65e7..b63e9410e4 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ModuleLoadCmdEntity.java @@ -19,10 +19,6 @@ * */ package org.apache.airavata.registry.core.entities.appcatalog; - -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.*; import java.io.Serializable; @@ -46,9 +42,8 @@ public class ModuleLoadCmdEntity implements Serializable { @Column(name = "COMMAND_ORDER") private int commandOrder; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE) + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "APP_DEPLOYMENT_ID") - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; public ModuleLoadCmdEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java index babd441cd3..971d98767c 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PostjobCommandEntity.java @@ -20,9 +20,6 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.*; import java.io.Serializable; @@ -47,9 +44,8 @@ public class PostjobCommandEntity implements Serializable { @Column(name = "COMMAND_ORDER") private int commandOrder; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE) + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "APPDEPLOYMENT_ID") - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; public PostjobCommandEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java index 644c56da15..e227f90395 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/PrejobCommandEntity.java @@ -20,9 +20,6 @@ */ package org.apache.airavata.registry.core.entities.appcatalog; -import org.apache.openjpa.persistence.jdbc.ForeignKey; -import org.apache.openjpa.persistence.jdbc.ForeignKeyAction; - import jakarta.persistence.*; import java.io.Serializable; @@ -47,9 +44,8 @@ public class PrejobCommandEntity implements Serializable { @Column(name = "COMMAND_ORDER") private int commandOrder; - @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE) + @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.ALL) @JoinColumn(name = "APPDEPLOYMENT_ID") - @ForeignKey(deleteAction = ForeignKeyAction.CASCADE) private ApplicationDeploymentEntity applicationDeployment; public PrejobCommandEntity() { diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java index 97bba99300..04fa5d8004 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/migration/MappingToolRunner.java @@ -1,46 +1,77 @@ package org.apache.airavata.registry.core.utils.migration; +import jakarta.persistence.Persistence; +import jakarta.persistence.metamodel.Type; import org.apache.airavata.common.utils.JDBCConfig; import org.apache.airavata.common.utils.JPAUtils; -import org.apache.openjpa.jdbc.conf.JDBCConfiguration; -import org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl; -import org.apache.openjpa.jdbc.meta.MappingTool; -import org.apache.openjpa.lib.util.Options; + +import org.hibernate.boot.Metadata; +import org.hibernate.boot.MetadataSources; +import org.hibernate.boot.registry.StandardServiceRegistry; +import org.hibernate.boot.registry.StandardServiceRegistryBuilder; +import org.hibernate.tool.schema.internal.SchemaCreatorImpl; +import org.hibernate.dialect.MySQLDialect; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.FileWriter; +import java.io.IOException; +import java.util.Arrays; +import java.util.Properties; + public class MappingToolRunner { private static Logger logger = LoggerFactory.getLogger(MappingToolRunner.class); public static void run(JDBCConfig jdbcConfig, String outputFile, String persistenceUnitName) { - run(jdbcConfig, outputFile, persistenceUnitName, MappingTool.ACTION_ADD); + run(jdbcConfig, outputFile, persistenceUnitName, "create"); } - // schemaAction is one of MappingTool's supported actions: http://openjpa.apache.org/builds/2.4.3/apache-openjpa/docs/ref_guide_mapping.html#ref_guide_mapping_mappingtool public static void run(JDBCConfig jdbcConfig, String outputFile, String persistenceUnitName, String schemaAction) { - JDBCConfiguration jdbcConfiguration = new JDBCConfigurationImpl(); - jdbcConfiguration.fromProperties(JPAUtils.createConnectionProperties(jdbcConfig)); - jdbcConfiguration.setConnectionDriverName("org.apache.commons.dbcp.BasicDataSource"); - - Options options = new Options(); - options.put("sqlFile", outputFile); - // schemaAction "add" brings the schema up to date by adding missing schema elements - // schemaAction "build" creates the entire schema as if the database is empty - options.put("schemaAction", schemaAction); - options.put("foreignKeys", "true"); - options.put("indexes", "true"); - options.put("primaryKeys", "true"); - // Specify persistence-unit name using it's anchor in the persistence.xml file - // http://openjpa.apache.org/builds/2.4.3/apache-openjpa/docs/ref_guide_conf_devtools.html - options.put("properties", "persistence.xml#" + persistenceUnitName); + Properties properties = new Properties(); + properties.putAll(JPAUtils.createConnectionProperties(jdbcConfig)); + properties.put("hibernate.dialect", MySQLDialect.class.getName()); + properties.put("hibernate.hbm2ddl.auto", schemaAction); + StandardServiceRegistry registry = new StandardServiceRegistryBuilder() + .applySettings(properties) + .build(); + MetadataSources metadataSources = new MetadataSources(registry); + Arrays.stream(getEntityClasses(persistenceUnitName)).forEach(metadataSources::addAnnotatedClass); + + Metadata metadata = metadataSources.buildMetadata(); + try (FileWriter fileWriter = new FileWriter(outputFile)) { + String schemaScript = generateSchema(metadata, registry); + fileWriter.write(schemaScript); + logger.info("Generated schema script at: {}", outputFile); + } catch (IOException e) { + logger.error("Failed to write schema script to file", e); + throw new RuntimeException("Failed to write schema script to file", e); + } finally { + StandardServiceRegistryBuilder.destroy(registry); + } + } + + private static String generateSchema(Metadata metadata, StandardServiceRegistry registry) { + StringBuilder schemaScript = new StringBuilder(); + SchemaCreatorImpl schemaCreator = new SchemaCreatorImpl(registry); + schemaCreator.generateCreationCommands(metadata, true).forEach(query -> { + schemaScript.append(query).append(";\n"); + }); + return schemaScript.toString(); + } + + private static Class<?>[] getEntityClasses(String persistenceUnitName) { try { - MappingTool.run(jdbcConfiguration, new String[] {}, options, null); - } catch (Exception mappingToolEx) { - logger.error("Failed to run MappingTool", mappingToolEx); - throw new RuntimeException( - "Failed to run MappingTool to generate migration script", mappingToolEx); + return Persistence.createEntityManagerFactory(persistenceUnitName) + .getMetamodel() + .getEntities() + .stream() + .map(Type::getJavaType) + .toArray(Class<?>[]::new); + } catch (Exception e) { + logger.error("Failed to load entity classes from persistence unit: {}", persistenceUnitName, e); + throw new RuntimeException("Failed to load entity classes from persistence unit", e); } } } diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml index f3b4ef035c..0dc11b6650 100644 --- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml +++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml @@ -21,7 +21,7 @@ * --> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <persistence-unit name="appcatalog_data_new"> - <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.apache.airavata.registry.core.entities.appcatalog.GridftpDataMovementEntity</class> <class>org.apache.airavata.registry.core.entities.appcatalog.ResourceJobManagerEntity</class> <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceEntity</class> @@ -82,11 +82,11 @@ <class>org.apache.airavata.registry.core.entities.appcatalog.ComputeResourceReservationEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> - <property name="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade" /> + <property name="hibernate.cascade" value="all"/> </properties> </persistence-unit> <persistence-unit name="replicacatalog_data_new"> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.apache.airavata.registry.core.entities.replicacatalog.ConfigurationEntity</class> <class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity</class> <class>org.apache.airavata.registry.core.entities.replicacatalog.DataProductMetadataEntity</class> @@ -94,11 +94,11 @@ <class>org.apache.airavata.registry.core.entities.replicacatalog.DataReplicaMetadataEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> - <property name="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade" /> + <property name="hibernate.cascade" value="all"/> </properties> </persistence-unit> <persistence-unit name="workflowcatalog_data_new"> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowEntity</class> <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowErrorEntity</class> <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowStatusEntity</class> @@ -114,11 +114,11 @@ <class>org.apache.airavata.registry.core.entities.airavataworkflowcatalog.WorkflowHandlerEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> - <property name="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade" /> + <property name="hibernate.cascade" value="all"/> </properties> </persistence-unit> <persistence-unit name="experiment_data_new"> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity</class> <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentErrorEntity</class> <class>org.apache.airavata.registry.core.entities.expcatalog.ExperimentInputEntity</class> @@ -149,8 +149,7 @@ <class>org.apache.airavata.registry.core.entities.expcatalog.UserEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> <properties> - <property name="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade" /> + <property name="hibernate.cascade" value="all"/> </properties> </persistence-unit> </persistence> diff --git a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties index ed79857f8d..6fe17b5fac 100644 --- a/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties +++ b/modules/registry/registry-core/src/main/resources/migrations-util/mysql/airavata-server.properties @@ -32,7 +32,7 @@ #for derby [AiravataJPARegistry] registry.jdbc.driver=org.mariadb.jdbc.Driver registry.jdbc.url=jdbc:mariadb://airavata.host:13306/experiment_catalog -registry.jdbc.user=airavata +registry.jdbc.user=root registry.jdbc.password=123456 validationQuery=SELECT 1 from CONFIGURATION @@ -48,7 +48,7 @@ default.registry.oauth.client.secret=client_secret #for derby [AiravataJPARegistry] appcatalog.jdbc.driver=org.mariadb.jdbc.Driver appcatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/app_catalog -appcatalog.jdbc.user=airavata +appcatalog.jdbc.user=root appcatalog.jdbc.password=123456 appcatalog.validationQuery=SELECT 1 from CONFIGURATION @@ -58,6 +58,6 @@ appcatalog.validationQuery=SELECT 1 from CONFIGURATION #for derby [AiravataJPARegistry] replicacatalog.jdbc.driver=org.mariadb.jdbc.Driver replicacatalog.jdbc.url=jdbc:mariadb://airavata.host:13306/replica_catalog -replicacatalog.jdbc.user=airavata +replicacatalog.jdbc.user=root replicacatalog.jdbc.password=123456 replicacatalog.validationQuery=SELECT 1 from CONFIGURATION diff --git a/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java b/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java index 691ce406dd..734daf9c02 100644 --- a/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java +++ b/modules/registry/registry-tools/jpa-gen/src/main/java/generators/JPAClassGenerator.java @@ -222,9 +222,9 @@ public class JPAClassGenerator extends AbstractGenerator{ public String generatePersistenceXmlEntry(JPAClassModel model){ String xmlEntry=null; - xmlEntry=addLines(xmlEntry,"<persistence xmlns=\"http://java.sun.com/xml/ns/persistence\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"1.0\">"); + xmlEntry=addLines(xmlEntry,"<persistence xmlns=\"http://java.sun.com/xml/ns/persistence\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" version=\"2.0\">"); xmlEntry=addLines(xmlEntry,tabs(1)+"<persistence-unit name=\"appcatalog_data\">"); - xmlEntry=addLines(xmlEntry,tabs(2)+"<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>"); + xmlEntry=addLines(xmlEntry,tabs(2)+"<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>"); xmlEntry=addLines(xmlEntry,tabs(2)+"<class>"+getJpaClassPackageName()+"."+model.className+"</class>"); xmlEntry=addLines(xmlEntry,tabs(2)+"<exclude-unlisted-classes>true</exclude-unlisted-classes>"); xmlEntry=addLines(xmlEntry,tabs(1)+"</persistence-unit>"); diff --git a/modules/security/pom.xml b/modules/security/pom.xml index a6f4c968b1..eb15c2c740 100644 --- a/modules/security/pom.xml +++ b/modules/security/pom.xml @@ -45,9 +45,9 @@ <version>${shiro-core.version}</version> </dependency> <dependency> - <groupId>commons-dbcp</groupId> - <artifactId>commons-dbcp</artifactId> - <version>${commons-dbcp.version}</version> + <groupId>org.apache.commons</groupId> + <artifactId>commons-dbcp2</artifactId> + <version>${commons-dbcp2.version}</version> </dependency> <dependency> <groupId>junit</groupId> diff --git a/modules/sharing-registry/sharing-registry-distribution/pom.xml b/modules/sharing-registry/sharing-registry-distribution/pom.xml index aa5983f12b..bda0ba22d3 100644 --- a/modules/sharing-registry/sharing-registry-distribution/pom.xml +++ b/modules/sharing-registry/sharing-registry-distribution/pom.xml @@ -56,9 +56,9 @@ </exclusions> </dependency> <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernate-core.version}</version> </dependency> <dependency> <groupId>com.mysql</groupId> diff --git a/modules/sharing-registry/sharing-registry-server/pom.xml b/modules/sharing-registry/sharing-registry-server/pom.xml index b03624c8d9..12df6ede0b 100644 --- a/modules/sharing-registry/sharing-registry-server/pom.xml +++ b/modules/sharing-registry/sharing-registry-server/pom.xml @@ -66,9 +66,9 @@ </exclusions> </dependency> <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> + <groupId>org.hibernate.orm</groupId> + <artifactId>hibernate-core</artifactId> + <version>${hibernate-core.version}</version> </dependency> <dependency> <groupId>com.mysql</groupId> @@ -114,33 +114,6 @@ <artifactId>maven-jar-plugin</artifactId> <version>${maven-jar-plugin.version}</version> </plugin> - <plugin> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa-maven-plugin</artifactId> - <version>${openjpa.maven.plugin.version}</version> - <configuration> - <includes>**/entities/*.class</includes> - <excludes>**/entities/XML*.class</excludes> - <addDefaultConstructor>true</addDefaultConstructor> - <enforcePropertyRestrictions>true</enforcePropertyRestrictions> - </configuration> - <executions> - <execution> - <id>enhancer</id> - <phase>process-classes</phase> - <goals> - <goal>enhance</goal> - </goals> - </execution> - </executions> - <dependencies> - <dependency> - <groupId>org.apache.openjpa</groupId> - <artifactId>openjpa</artifactId> - <version>${openjpa.version}</version> - </dependency> - </dependencies> - </plugin> </plugins> <resources> <resource> diff --git a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml index adcc54c1cb..596d3c2a92 100644 --- a/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml +++ b/modules/sharing-registry/sharing-registry-server/src/main/resources/META-INF/persistence.xml @@ -2,7 +2,7 @@ <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <persistence-unit name="airavata-sharing-registry"> - <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider> + <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider> <class>org.apache.airavata.sharing.registry.db.entities.DomainEntity</class> <class>org.apache.airavata.sharing.registry.db.entities.EntityEntity</class> <class>org.apache.airavata.sharing.registry.db.entities.EntityTypeEntity</class> @@ -13,8 +13,7 @@ <class>org.apache.airavata.sharing.registry.db.entities.GroupAdminEntity</class> <class>org.apache.airavata.sharing.registry.db.entities.UserGroupEntity</class> <properties> - <property name="openjpa.jdbc.MappingDefaults" - value="ForeignKeyDeleteAction=cascade, JoinForeignKeyDeleteAction=cascade" /> + <property name="hibernate.cascade" value="all"/> </properties> </persistence-unit> </persistence> diff --git a/pom.xml b/pom.xml index 08b0ee499a..e3d77825e2 100644 --- a/pom.xml +++ b/pom.xml @@ -111,7 +111,7 @@ <log4j2.slf4j.impl>2.24.3</log4j2.slf4j.impl> <surefire.version>3.0.0-M4</surefire.version> <junit.version>4.13.1</junit.version> - <curator.version>5.6.0</curator.version> + <curator.version>5.7.1</curator.version> <groovy.version>3.0.23</groovy.version> <xpp3.version>1.1.6</xpp3.version> <xpp5.version>1.2.8</xpp5.version> @@ -140,15 +140,14 @@ <json.version>20250107</json.version> <google.guava.version>33.2.1-jre</google.guava.version> <jacoco.version>0.8.1</jacoco.version> - <openjpa.maven.plugin.version>4.0.1</openjpa.maven.plugin.version> - <openjpa.version>4.0.1</openjpa.version> <dozer.version>5.4.0</dozer.version> <jakarta.annotation.version>2.1.1</jakarta.annotation.version> <javax.annotation.version>1.3.2</javax.annotation.version> <jakarta.xml.bind-api.version>4.0.0</jakarta.xml.bind-api.version> <jakarta.ws.rs-api.version>3.1.0</jakarta.ws.rs-api.version> + <jakarta.transaction-api.version>2.0.1</jakarta.transaction-api.version> <angus-activation.version>2.0.2</angus-activation.version> - <jaxb.version>2.4.0-b180830.0359</jaxb.version> + <jaxb-api.version>2.4.0-b180830.0359</jaxb-api.version> <jmockit.version>1.44</jmockit.version> <helix.version>1.4.3</helix.version> <keycloak.admin.client.version>24.0.4</keycloak.admin.client.version> @@ -170,8 +169,7 @@ <commons-beanutils.version>1.9.2</commons-beanutils.version> <commons-io.version>2.18.0</commons-io.version> <commons-pool2.version>2.12.1</commons-pool2.version> - <commons-pool.version>1.6</commons-pool.version> - <commons-dbcp.version>1.4</commons-dbcp.version> + <commons-dbcp2.version>2.13.0</commons-dbcp2.version> <commons-cli.version>1.9.0</commons-cli.version> <commons-email.version>1.5</commons-email.version> <commons-codec.version>1.18.0</commons-codec.version> @@ -220,11 +218,15 @@ <snappy-java.version>1.1.10.7</snappy-java.version> <netty.version>4.1.113.Final</netty.version> <logback.version>1.4.14</logback.version> + <hibernate-core.version>6.6.11.Final</hibernate-core.version> <!-- From Agent Service --> <protobuf-java.version>3.25.5</protobuf-java.version> <protobuf-maven-plugin.version>2.12.1</protobuf-maven-plugin.version> <grpc.version>1.63.0</grpc.version> <j2objc-annotations.version>2.8</j2objc-annotations.version> + <jakarta.inject-api.version>2.0.1</jakarta.inject-api.version> + <jaxb-runtime.version>4.0.5</jaxb-runtime.version> + <jboss-logging.version>3.5.3.Final</jboss-logging.version> </properties> <dependencies> @@ -463,9 +465,9 @@ <version>${commons-lang.version}</version> </dependency> <dependency> - <groupId>commons-pool</groupId> - <artifactId>commons-pool</artifactId> - <version>${commons-pool.version}</version> + <groupId>org.apache.commons</groupId> + <artifactId>commons-dbcp2</artifactId> + <version>${commons-dbcp2.version}</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> @@ -481,7 +483,7 @@ <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> - <version>${jaxb.version}</version> + <version>${jaxb-api.version}</version> </dependency> <dependency> <groupId>org.json</groupId> @@ -598,6 +600,36 @@ <artifactId>j2objc-annotations</artifactId> <version>${j2objc-annotations.version}</version> </dependency> + <dependency> + <groupId>jakarta.inject</groupId> + <artifactId>jakarta.inject-api</artifactId> + <version>${jakarta.inject-api.version}</version> + </dependency> + <dependency> + <groupId>org.glassfish.jaxb</groupId> + <artifactId>jaxb-core</artifactId> + <version>${jaxb-runtime.version}</version> + </dependency> + <dependency> + <groupId>org.glassfish.jaxb</groupId> + <artifactId>jaxb-runtime</artifactId> + <version>${jaxb-runtime.version}</version> + </dependency> + <dependency> + <groupId>org.glassfish.jaxb</groupId> + <artifactId>txw2</artifactId> + <version>${jaxb-runtime.version}</version> + </dependency> + <dependency> + <groupId>org.jboss.logging</groupId> + <artifactId>jboss-logging</artifactId> + <version>${jboss-logging.version}</version> + </dependency> + <dependency> + <groupId>jakarta.transaction</groupId> + <artifactId>jakarta.transaction-api</artifactId> + <version>${jakarta.transaction-api.version}</version> + </dependency> </dependencies> </dependencyManagement>
