-
Notifications
You must be signed in to change notification settings - Fork 14
NPE with Importer #8
Description
here is my config:
< bean id="messageSource" class="org.synyx.messagesource.InitializableMessageSource">
< property name="messageProvider">
< bean class="org.synyx.messagesource.jdbc.JdbcMessageProvider">
< property name="dataSource" ref="dataSource"/>
< property name="keyColumn" value="messageKey"/>
< property name="tableName" value="message"/>
< property name="basenameColumn" value="basename"/>
< property name="delimiter" value="`"/>
</ bean>
</ property>
< property name="basenames">
< list>
< value>messages</ value>
< value>application</ value>
</ list>
</ property>
< property name="returnUnresolvedCode" value="true" />
</ bean>
here is how do I call it:
public void importMessages () {
FileSystemMessageProvider filesystemMessageProvider = new FileSystemMessageProvider("webapp/WEB-INF/i18n");
JdbcMessageProvider jdbcMessageProvider = new JdbcMessageProvider();
MessageProvider source = filesystemMessageProvider;
MessageAcceptor target = jdbcMessageProvider;
Importer importer = new Importer(source, target);
// imports messages of all basenames from source to target
//importer.importMessages();
// or just import some basenames?
Collection<String> basenames = source.getAvailableBaseNames();
for (String basename : basenames) {
LoggerFactory.getLogger(getClass()).info(basename);
importer.importMessages(basename);
}
}
An exception:
ERROR org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
java.lang.NullPointerException
at org.synyx.messagesource.jdbc.JdbcMessageProvider.deleteMessages(JdbcMessageProvider.java:141)
at org.synyx.messagesource.jdbc.JdbcMessageProvider.setMessages(JdbcMessageProvider.java:76)
at org.synyx.messagesource.importer.Importer.importMessages(Importer.java:43)
...
As I see in log, basename has been sent to importer.
Could you please reply, if I'm missing something.
And I found small issue in doc you posted, there is
< property name="basename">
< list>
< value>messages</ value>
< value>application</ value>
</ list>
</ property>
Should be
< property name="basenameS">
< list>
< value>messages
< value>application
</ list>
</ property>
basenames - not basename.
Also is there any way to email your team or better way is to post here?
Thanks a lot for your help!