Публичное пространство
Сохранение xml-копий загружаемых данных
Товары
Сохранение копий сообщений товаров
Чтобы, сохранять xml-копию импортируемых товаров через веб-сервис, включите настройку goods.catalog.imported.directory
в файле, убрав #
:
- Windows: {Disk}\Папка_SetRetail10\standalone\configuration\modules\erp-integration\Products.properties
- Linux: /var/lib/jboss/standalone/configuration/modules/erp-integration/Products.properties
goods.catalog.interval=60000 goods.catalog.import.plugin.read=ERPFileReader goods.catalog.import.plugin.prepare=InputStreamPrepare goods.sending.interval=10000 #goods.catalog.imported.directory=E:\\reports\\importedGC goods.catalog.export.file.prefix=goods-catalog goods.catalog.package=ru.crystals.setretailx.products.catalog
Таким образом при импорте данных через веб-сервис E:\reports\ importedGS (каталог можно изменять):
- Linux: \var\lib\jboss\reports\importedGS.
- Windows: {Disk}:\Reports\importedGS.
Управление сроками хранения данных в папке сохранения сообщений (очистка папки)
- SRTS-1393Получение подробных данных проблемы… СТАТУС
- CR-7779Получение подробных данных проблемы… СТАТУС
10.3.22.0
Настройки позволяют управлять хранением файлов сообщений в папке.
goods.catalog.imported.directory.clean.days
- срок хранения файлов в днях.goods.catalog.imported.directory.clean.time
- время выполнения подрезки файлов.
Логика работы
При выполнении задачи удаления более 1 часа, она останавливается с записью об этом в лог сервера, что сработал таймаут.
Если параметры закомментированы символом #? значит, они никак не действуют.
Если указана только дата или только время подрезки, или значения указаны некорректно (например, случайные символы, буквы, пробелы) подрезка не сработает. При чтении некорректных отправляется сообщение об этом в лог сервера при каждом его запуске (после запуска).
При успешном выполнении подрезки сохраняется запись об этом в лог сервера с указанием, сколько файлов было удалено и из какого каталога.
При неуспешном выполнении подрезки должна сохраняется в лог с указанием причины (нет прав на каталог, отсутствуют файлы для подрезки, сработал таймаут).
Примеры записи событий в логе
04.04 11:02:17 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner started successfully,days to clean after 1, first time 2023-04-04 11:09:00 04.04 11:09:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner onTimeout started! 2023-04-04 11:09:00 04.04 11:09:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: onTimeout: going to delete 7 files! 04.04 11:09:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: onTimeout: deleted 7files! 04.04 11:09:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner onTimeout finished! 2023-04-04 11:09:00
04.04 11:27:06 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner not started because "goods.catalog.imported.directory" is empty! 04.04 11:27:06 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner not started because "goods.catalog.imported.directory.clean.days" is empty! 04.04 11:27:06 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner not started because "goods.catalog.imported.directory.clean.time" is empty or can't be parsed!
04.04 13:37:01 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner started successfully, days to clean after 1, first time 2023-04-04 13:40:00 04.04 13:40:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner onTimeout started! 2023-04-04 13:40:00 04.04 13:40:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: onTimeout: going to delete 3 files! 04.04 13:40:00 WARN [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: onTimeout: can't delete goods-catalog_04-04-2023_10-46-28_1.xml, error - [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner.onTimeout(ImportedGoodCatalogCleaner.java:108), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374), org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:127), org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:137), org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:34), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53), org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:34), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374), org.jboss.as.ejb3.concurrency.ContainerManagedConcurrencyInterceptor.processInvocation(ContainerManagedConcurrencyInterceptor.java:104), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:101), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61), org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterceptor.java:53), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228), org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304), org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:76), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:43), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61), org.jboss.as.ejb3.timerservice.TimedObjectInvokerImpl.callTimeout(TimedObjectInvokerImpl.java:104), org.jboss.as.ejb3.timerservice.TimedObjectInvokerImpl.callTimeout(TimedObjectInvokerImpl.java:114), org.jboss.as.ejb3.timerservice.task.TimerTask.callTimeout(TimerTask.java:177), org.jboss.as.ejb3.timerservice.task.TimerTask.run(TimerTask.java:149), java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511), java.util.concurrent.FutureTask.run(FutureTask.java:266), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:750), org.jboss.threads.JBossThread.run(JBossThread.java:122)]! 04.04 13:40:00 WARN [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: onTimeout: can't delete goods-catalog_04-04-2023_11-06-03.xml, error - [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner.onTimeout(ImportedGoodCatalogCleaner.java:108), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43), java.lang.reflect.Method.invoke(Method.java:498), org.jboss.as.ee.component.ManagedReferenceMethodInterceptorFactory$ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptorFactory.java:72), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374), org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:127), org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:137), org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:34), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53), org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:34), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:374), org.jboss.as.ejb3.concurrency.ContainerManagedConcurrencyInterceptor.processInvocation(ContainerManagedConcurrencyInterceptor.java:104), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:101), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61), org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:53), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterceptor.java:53), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228), org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:304), org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:190), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:76), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:43), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45), org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288), org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61), org.jboss.as.ejb3.timerservice.TimedObjectInvokerImpl.callTimeout(TimedObjectInvokerImpl.java:104), org.jboss.as.ejb3.timerservice.TimedObjectInvokerImpl.callTimeout(TimedObjectInvokerImpl.java:114), org.jboss.as.ejb3.timerservice.task.TimerTask.callTimeout(TimerTask.java:177), org.jboss.as.ejb3.timerservice.task.TimerTask.run(TimerTask.java:149), java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511), java.util.concurrent.FutureTask.run(FutureTask.java:266), java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149), java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624), java.lang.Thread.run(Thread.java:750), org.jboss.threads.JBossThread.run(JBossThread.java:122)]! 04.04 13:40:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: onTimeout: deleted 1 files! 04.04 13:40:00 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner onTimeout finished! 2023-04-04 13:40:00
Примеры неправильного выставления времени
04.04 14:09:04 WARN [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: the property "goods.catalog.imported.directory.clean.time" is not a time! 04.04 14:09:04 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner not started because "goods.catalog.imported.directory.clean.time" is empty or can't be parsed!
04.04 14:16:26 WARN [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner: the property "goods.catalog.imported.directory.clean.time" is not valid! 04.04 14:16:26 DEBUG [ru.crystals.ERPIntegration.ejb.ImportedGoodCatalogCleaner] ImportedGoodCatalogCleaner not started because "goods.catalog.imported.directory.clean.time" is empty or can't be parsed!
Рекламные акции
1. Чтобы, сохранять xml-копию импортируемых товаров через веб-сервис, добавьте настройку import.actions.save-to.dir
в файле:
- Windows: {Disk}\Папка_SetRetail10\standalone\configuration\modules\erp-integration\Discounts.properties
- Linux: /var/lib/jboss/standalone/configuration/modules/erp-integration/Discounts.properties
2. Откройте на редактирование Discounts.properties и добавьте строку с папкой для сохранения копий web-сообщений
import.actions.save-to.dir=<путь к папке>
3. Перезапустите службу сервера SetRetail.
4. Произведите импорт рекламных акций и проверьте результат:
© 1994-2024, ООО «Кристалл Сервис Интеграция».
Все права защищены..