We have a requirement that client uploads the new products through the hotfolder. As part of that, he will upload one image of the product and we need to convert it into different sizes to display in the storefront.
I am trying to do this using the MediaConversionJob. I have created the impex in below order.
INSERT_UPDATE ConversionMediaFormat;qualifier[unique=true];inputFormat(qualifier);conversion ;SMALL;SMALL;-resize 30x30!
INSERT_UPDATE ConversionGroup;code[unique=true];supportedFormats(qualifier) ;productMediaConversionGroup;SMALL
INSERT_UPDATE MediaContainer;qualifier[unique=true];$catalogVersion;conversionGroup(code) ;productMediaContainer;;productMediaConversionGroup
INSERT_UPDATE Media;code[unique=true];mediaContainer(qualifier,$catalogVersion);$catalogVersion; mime;realfilename;mediaFormat(qualifier);@media[translator=de.hybris.platform.impex.jalo.media.MediaDataTranslator][forceWrite=true]; ;testImage;productMediaContainer;;image/jpeg;testImage.jpg;Default-WorkingFormat;$siteResource/images/testImage.jpg;
INSERT_UPDATE MediaConversionCronJob;code[unique=true];$catalogVersion;job(code);includedFormats(qualifier);sessionLanguage(isoCode[default=$lang]) ;productMediaConversionCronJob;;mediaConversionJob;SMALL;
When I run the ProductMediaConversionCronJob I am getting the below issue.
WARN [MediaConversionJob-#0] [DefaultLockRowInTransactionStrategy] Row locking not supported in HSQLDB. Exception in thread "MediaConversionJob-#0" java.lang.StackOverflowError at java.lang.StringBuilder.append(StringBuilder.java:136) at org.apache.logging.log4j.core.pattern.LevelPatternConverter.format(LevelPatternConverter.java:124) at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:36) at org.apache.logging.log4j.core.layout.PatternLayout$PatternSerializer.toSerializable(PatternLayout.java:289).... .... at de.hybris.platform.tx.Transaction.execute(Transaction.java:1188) at de.hybris.platform.tx.Transaction.execute(Transaction.java:1153) at de.hybris.platform.mediaconversion.conversion.DefaultMediaConversionService.convertInTransaction(DefaultMediaConversionService.java:380) at de.hybris.platform.mediaconversion.conversion.DefaultMediaConversionService.getOrConvert(DefaultMediaConversionService.java:323) at de.hybris.platform.mediaconversion.conversion.DefaultMediaConversionService.doConvert(DefaultMediaConversionService.java:440) at de.hybris.platform.mediaconversion.conversion.DefaultMediaConversionService$2.execute(DefaultMediaConversionService.java:398) at de.hybris.platform.tx.Transaction.execute(Transaction.java:1188)
Is my approach is correct? Can anybody tell me how to resolve this issue. Thanks.