|
50 | 50 | /**
|
51 | 51 | * Provides the list of service initiators that Hibernate Reactive needs to integrate with Hibernate ORM.
|
52 | 52 | */
|
53 |
| -// FIXME: We need to double check this class because I've deleted some services |
54 | 53 | public final class ReactiveServiceInitiators {
|
55 | 54 |
|
56 | 55 | private ReactiveServiceInitiators() {
|
57 | 56 | }
|
58 | 57 |
|
59 | 58 | public static final List<StandardServiceInitiator<?>> LIST = buildInitialServiceInitiatorList();
|
60 | 59 |
|
61 |
| - // Note that Quarkus uses a different list for the initialization of the services. |
62 |
| - // If you update this list makes sure to check that reactive still works with Quarkus |
63 |
| - // in native mode. |
| 60 | + // Note that Quarkus uses a different list for the initialization of the services: |
| 61 | + // If you update this list makes sure to check that reactive still works with Quarkus. |
| 62 | + // Also: please try to maintain the same order as Hibernate ORM for sake of comparisons. |
64 | 63 | private static List<StandardServiceInitiator<?>> buildInitialServiceInitiatorList() {
|
65 | 64 | final ArrayList<StandardServiceInitiator<?>> serviceInitiators = new ArrayList<>();
|
66 | 65 |
|
67 |
| - serviceInitiators.add( SqlScriptExtractorInitiator.INSTANCE ); |
68 |
| - |
69 |
| - serviceInitiators.add( ReactiveMutationExecutorServiceInitiator.INSTANCE ); |
70 |
| - |
71 |
| - // Definitely exclusive to Hibernate Reactive, as it marks the registry as Reactive: |
72 |
| - serviceInitiators.add( ReactiveMarkerServiceInitiator.INSTANCE ); |
73 |
| - |
74 |
| - // Exclusive to Hibernate Reactive: |
75 |
| - serviceInitiators.add( VertxInstanceInitiator.INSTANCE ); |
76 |
| - serviceInitiators.add( VertxContextInitiator.INSTANCE ); |
77 |
| - |
78 |
| - // Exclusive to Hibernate Reactive: |
79 |
| - serviceInitiators.add( SqlClientPoolConfigurationInitiator.INSTANCE ); |
80 |
| - serviceInitiators.add( ReactiveConnectionPoolInitiator.INSTANCE ); |
81 |
| - |
82 |
| - // Custom for Hibernate Reactive: |
| 66 | + // Custom for Hibernate Reactive: SessionFactoryBuilderService |
83 | 67 | serviceInitiators.add( ReactiveSessionFactoryBuilderInitiator.INSTANCE );
|
84 | 68 |
|
| 69 | + // Custom for Hibernate Reactive: IdentifierGeneratorFactory |
| 70 | + serviceInitiators.add( ReactiveIdentifierGeneratorFactoryInitiator.INSTANCE); |
| 71 | + |
| 72 | + // [standard] BytecodeProvider |
85 | 73 | serviceInitiators.add( BytecodeProviderInitiator.INSTANCE );
|
| 74 | + |
| 75 | + // [standard] ProxyFactoryFactory |
86 | 76 | serviceInitiators.add( ProxyFactoryFactoryInitiator.INSTANCE );
|
87 | 77 |
|
| 78 | + // [standard] CfgXmlAccessService |
88 | 79 | serviceInitiators.add( CfgXmlAccessServiceInitiator.INSTANCE );
|
| 80 | + |
| 81 | + // [standard] ConfigurationService |
89 | 82 | serviceInitiators.add( ConfigurationServiceInitiator.INSTANCE );
|
| 83 | + |
| 84 | + // [standard] PropertyAccessStrategyResolver |
90 | 85 | serviceInitiators.add( PropertyAccessStrategyResolverInitiator.INSTANCE );
|
91 | 86 |
|
92 |
| - // Custom for Hibernate Reactive: |
| 87 | + // [standard] SqlScriptCommandExtractor |
| 88 | + serviceInitiators.add( SqlScriptExtractorInitiator.INSTANCE ); |
| 89 | + |
| 90 | + // Custom for Hibernate Reactive: SchemaManagementTool |
| 91 | + serviceInitiators.add( ReactiveSchemaManagementToolInitiator.INSTANCE ); |
| 92 | + |
| 93 | + // Custom for Hibernate Reactive: JdbcEnvironment |
93 | 94 | serviceInitiators.add( NoJdbcEnvironmentInitiator.INSTANCE );
|
94 | 95 |
|
| 96 | + // [standard] JndiService |
95 | 97 | serviceInitiators.add( JndiServiceInitiator.INSTANCE );
|
96 | 98 |
|
97 |
| - // Custom for Hibernate Reactive: |
| 99 | + // Custom for Hibernate Reactive: PersisterClassResolver |
98 | 100 | serviceInitiators.add( ReactivePersisterClassResolverInitiator.INSTANCE );
|
| 101 | + |
| 102 | + // [standard] PersisterFactory |
99 | 103 | serviceInitiators.add( PersisterFactoryInitiator.INSTANCE );
|
100 | 104 |
|
101 |
| - // Custom for Hibernate Reactive: |
| 105 | + // Custom for Hibernate Reactive: ConnectionProvider [disabled] |
102 | 106 | serviceInitiators.add( NoJdbcConnectionProviderInitiator.INSTANCE );
|
| 107 | + |
| 108 | + // Custom for Hibernate Reactive: MultiTenantConnectionProvider [disabled] |
103 | 109 | serviceInitiators.add( NoJdbcMultiTenantConnectionProviderInitiator.INSTANCE );
|
104 | 110 |
|
| 111 | + // [standard] DialectResolver |
105 | 112 | serviceInitiators.add( DialectResolverInitiator.INSTANCE );
|
106 | 113 |
|
107 |
| - //Custom for Hibernate Reactive: |
| 114 | + // Custom for Hibernate Reactive: DialectFactory ; wraps the standard Dialects with ReactiveDialectWrapper |
108 | 115 | serviceInitiators.add( ReactiveDialectFactoryInitiator.INSTANCE );
|
| 116 | + |
| 117 | + // Custom for Hibernate Reactive: MutationExecutorService |
| 118 | + serviceInitiators.add( ReactiveMutationExecutorServiceInitiator.INSTANCE ); |
| 119 | + |
| 120 | + // [standard] BatchBuilder |
109 | 121 | serviceInitiators.add( BatchBuilderInitiator.INSTANCE );
|
| 122 | + |
| 123 | + // [standard] JdbcServices |
110 | 124 | serviceInitiators.add( JdbcServicesInitiator.INSTANCE );
|
111 |
| - serviceInitiators.add( RefCursorSupportInitiator.INSTANCE ); |
112 | 125 |
|
113 |
| - // Custom for Hibernate Reactive: |
114 |
| - serviceInitiators.add( ReactiveSchemaManagementToolInitiator.INSTANCE ); |
| 126 | + // [standard] RefCursorSupport |
| 127 | + serviceInitiators.add( RefCursorSupportInitiator.INSTANCE ); |
115 | 128 |
|
116 |
| - // Custom for Hibernate Reactive: |
117 |
| - serviceInitiators.add( ReactiveIdentifierGeneratorFactoryInitiator.INSTANCE); |
| 129 | + // JtaPlatformResolver: REMOVED |
118 | 130 |
|
119 |
| - // Custom for Hibernate Reactive: |
| 131 | + // Custom for Hibernate Reactive: JtaPlatform [disabled] |
120 | 132 | serviceInitiators.add( NoJtaPlatformInitiator.INSTANCE );
|
121 | 133 |
|
| 134 | + // [standard] SessionFactoryServiceRegistryFactory |
122 | 135 | serviceInitiators.add( SessionFactoryServiceRegistryFactoryInitiator.INSTANCE );
|
123 | 136 |
|
| 137 | + // [standard] RegionFactory |
124 | 138 | serviceInitiators.add( RegionFactoryInitiator.INSTANCE );
|
125 | 139 |
|
| 140 | + // [standard] TransactionCoordinatorBuilder |
126 | 141 | serviceInitiators.add( TransactionCoordinatorBuilderInitiator.INSTANCE );
|
127 | 142 |
|
| 143 | + // [standard] ManagedBeanRegistry |
128 | 144 | serviceInitiators.add( ManagedBeanRegistryInitiator.INSTANCE );
|
| 145 | + |
| 146 | + // [standard] EntityCopyObserverFactory |
129 | 147 | serviceInitiators.add( EntityCopyObserverFactoryInitiator.INSTANCE );
|
130 | 148 |
|
131 |
| - //Custom for Hibernate Reactive: |
| 149 | + // Custom for Hibernate Reactive: JdbcValuesMappingProducerProvider |
132 | 150 | serviceInitiators.add( ReactiveValuesMappingProducerProviderInitiator.INSTANCE );
|
133 | 151 |
|
134 |
| - //Custom for Hibernate Reactive: |
| 152 | + //Custom for Hibernate Reactive: SqmMultiTableMutationStrategyProvider |
135 | 153 | serviceInitiators.add( ReactiveSqmMultiTableMutationStrategyProviderInitiator.INSTANCE );
|
136 | 154 |
|
137 |
| - // Default implementation |
| 155 | + // [standard] JdbcParameterRenderer FIXME this will need to be replaced |
138 | 156 | serviceInitiators.add( JdbcParameterRendererInitiator.INSTANCE );
|
139 | 157 |
|
| 158 | + // --- end of services defined by Hibernate ORM |
| 159 | + |
| 160 | + // --- custom ones follow: |
| 161 | + |
| 162 | + // Definitely exclusive to Hibernate Reactive, as it marks this particular registry as Reactive: |
| 163 | + serviceInitiators.add( ReactiveMarkerServiceInitiator.INSTANCE ); |
| 164 | + |
| 165 | + // Exclusive to Hibernate Reactive: |
| 166 | + serviceInitiators.add( VertxInstanceInitiator.INSTANCE ); |
| 167 | + serviceInitiators.add( VertxContextInitiator.INSTANCE ); |
| 168 | + |
| 169 | + // Exclusive to Hibernate Reactive: |
| 170 | + serviceInitiators.add( SqlClientPoolConfigurationInitiator.INSTANCE ); |
| 171 | + serviceInitiators.add( ReactiveConnectionPoolInitiator.INSTANCE ); |
| 172 | + |
| 173 | + // --- end of custom services. |
| 174 | + |
140 | 175 | serviceInitiators.trimToSize();
|
141 | 176 |
|
142 | 177 | return unmodifiableList( serviceInitiators );
|
|
0 commit comments