@@ -129,7 +129,16 @@ private void postProcess(BeanDefinitionBuilder builder, String repositoryName, S
129
129
.computeIfAbsent (getBeanNameWithModulePrefix ("DynamoDBTemplate-" + dynamoDBRef ), ref -> {
130
130
BeanDefinitionBuilder dynamoDBTemplateBuilder = BeanDefinitionBuilder
131
131
.genericBeanDefinition (DynamoDBTemplate .class );
132
+ // AmazonDynamoDB amazonDynamoDB, DynamoDBMapper dynamoDBMapper,
133
+ // DynamoDBMapperConfig dynamoDBMapperConfig
132
134
dynamoDBTemplateBuilder .addConstructorArgReference (dynamoDBRef );
135
+ dynamoDBTemplateBuilder .addConstructorArgReference (this .dynamoDBMapperName );
136
+
137
+ if (StringUtils .hasText (dynamoDBMapperConfigRef )) {
138
+ dynamoDBTemplateBuilder .addConstructorArgReference (dynamoDBMapperConfigRef );
139
+ } else {
140
+ dynamoDBTemplateBuilder .addConstructorArgReference (this .dynamoDBMapperConfigName );
141
+ }
133
142
134
143
registry .registerBeanDefinition (ref , dynamoDBTemplateBuilder .getBeanDefinition ());
135
144
return ref ;
@@ -138,9 +147,6 @@ private void postProcess(BeanDefinitionBuilder builder, String repositoryName, S
138
147
139
148
builder .addPropertyReference ("dynamoDBOperations" , dynamoDBOperationsRef );
140
149
141
- if (StringUtils .hasText (dynamoDBMapperConfigRef )) {
142
- builder .addPropertyReference ("dynamoDBMapperConfig" , dynamoDBMapperConfigRef );
143
- }
144
150
}
145
151
146
152
if (!StringUtils .hasText (dynamoDBMappingContextRef )) {
@@ -184,6 +190,10 @@ private String registerEntity2DynamoDBTableSynchronizer(BeanDefinitionRegistry r
184
190
}
185
191
186
192
private final Map <String , String > dynamoDBMappingContextProcessorCache = new ConcurrentHashMap <>();
193
+
194
+ private String dynamoDBMapperName ;
195
+
196
+ private String dynamoDBMapperConfigName ;
187
197
private String registerDynamoDBMappingContextProcessor (BeanDefinitionRegistry registry ,
188
198
String dynamoDBMappingContextRef ) {
189
199
assert registry != null ;
@@ -226,15 +236,17 @@ public void registerBeansForRoot(BeanDefinitionRegistry registry,
226
236
// Store for later to be used by #postProcess, too
227
237
this .registry = registry ;
228
238
239
+ this .dynamoDBMapperConfigName = getBeanNameWithModulePrefix ("DynamoDBMapperConfig" );
240
+ // TODO only if it doesn't exist
229
241
BeanDefinitionBuilder dynamoDBMapperConfigBuiilder = BeanDefinitionBuilder
230
242
.genericBeanDefinition (DynamoDBMapperConfigFactory .class );
231
- registry .registerBeanDefinition (getBeanNameWithModulePrefix ( "DynamoDBMapperConfig" ) ,
243
+ registry .registerBeanDefinition (this . dynamoDBMapperConfigName ,
232
244
dynamoDBMapperConfigBuiilder .getBeanDefinition ());
233
245
246
+ this .dynamoDBMapperName = getBeanNameWithModulePrefix ("DynamoDBMapper" );
234
247
BeanDefinitionBuilder dynamoDBMapperBuilder = BeanDefinitionBuilder
235
248
.genericBeanDefinition (DynamoDBMapperFactory .class );
236
- registry .registerBeanDefinition (getBeanNameWithModulePrefix ("DynamoDBMapper" ),
237
- dynamoDBMapperBuilder .getBeanDefinition ());
249
+ registry .registerBeanDefinition (this .dynamoDBMapperName , dynamoDBMapperBuilder .getBeanDefinition ());
238
250
}
239
251
240
252
protected String getBeanNameWithModulePrefix (String baseBeanName ) {
0 commit comments