forum.bitel.ru
http://forum.bitel.ru/

как прально синхронизироваться по mutex
http://forum.bitel.ru/viewtopic.php?f=19&t=10558
Страница 1 из 1

Автор:  Ping333 [ 26 май 2015, 21:43 ]
Заголовок сообщения:  как прально синхронизироваться по mutex

Добрый вечер.
Подскажите товарищи пожалуйста, ни разу еще не делал. В доке
public static final java.lang.Object MUTEX
При создании договора НЕОБХОДИМО СИНХРОНИЗОВАТЬСЯ по данному мьютексу.

Написал сервлет, пост запрос отдает данные,далее создание договора по шаблону, возврат номер договора.Как правильно синхронизироваться сделать?

Автор:  dimOn [ 26 май 2015, 23:26 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

версии

Автор:  Ping333 [ 27 май 2015, 08:23 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Клиент: вер. 6.0 сборка 1380 от 14.05.2015 13:24:14
Сервер: вер. 6.0 сборка 1853 от 20.05.2015 18:58:01

Автор:  Akhmat [ 28 май 2015, 19:48 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

синхронными запросами все это дело делать. не? не увидел необходимости синхронизации тут

Автор:  Phricker [ 28 май 2015, 20:05 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Код:
//Создаем договор
Contract contract = null;
synchronized (cm.MUTEX)
{
  contract = cm.createFromPattern( PATTERN_ID, ContractPatternManager.getContractTitle(con, pattern, contractDate), contractDate, contractPass );
}

Автор:  stark [ 28 май 2015, 20:18 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Да не нужно вам это . Это зря в javadoc вынесли . В 6.2 вообще это поле вырезали.

Автор:  Ping333 [ 29 май 2015, 10:08 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Ясно. спасибо. буду делать без синхронизации

Автор:  Ping333 [ 21 окт 2015, 14:08 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Добрый день!
Плодить темы не стал, не могу создать договор.
делаю
contract = cm.createFromPattern( 41, "test", contractDate, contractPass );
не создается,
делаю так
contract = cm.createFromPattern( 1041, "test", contractDate, contractPass );
договор создался, но так как шаблона такого нет то договор пустой.
Подскажите как правильно то это сделать?

Автор:  Artur [ 21 окт 2015, 14:15 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Очень мало конкретной информации, по которой можно судить.
Как сказал бы dimon, "что то где то почему то не работает" (с)

Автор:  Ping333 [ 21 окт 2015, 14:37 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Понял, вот более конкретно
лог при
contract = cm.createFromPattern( 1041, "test", contractDate, contractPass );
Код:
10-21/15:25:28  INFO ["http-bio-/0.0.0.0-8443"-exec-3] LoggingPrintStream - 1cid=3509
10-21/15:25:28  INFO ["http-bio-/0.0.0.0-8443"-exec-3] LoggingPrintStream - 1contract=Contract: test; limit: 0.00; mode: CREDIT
10-21/15:25:29  INFO ["http-bio-/0.0.0.0-8443"-exec-3] LoggingPrintStream - NFR NFR
10-21/15:25:29  INFO ["http-bio-/0.0.0.0-8080"-exec-2] Setup - Load config for mid=15
10-21/15:25:29 DEBUG ["http-bio-/0.0.0.0-8080"-exec-2] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.ResourceServiceImpl@17b31f9
10-21/15:25:29 DEBUG ["http-bio-/0.0.0.0-8080"-exec-2] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl@7ff102
10-21/15:25:29 DEBUG [ServerDirectoryInfo-init] EventProcessor - Add ru.bitel.bgbilling.kernel.directory.api.server.ServerDirectoryInfo@133da73 to BG.Event.ru.bitel.bgbilling.modules.inet.api.common.event.InetServTypeModifiedEvent
10-21/15:25:29 DEBUG [ServerDirectoryInfo-init] EventProcessor - Add ru.bitel.bgbilling.kernel.directory.api.server.ServerDirectoryInfo@f6ce3f to BG.Event.ru.bitel.bgbilling.modules.inet.api.common.event.TrafficTypeLinkModifiedEvent
10-21/15:25:29 DEBUG [AddressItemModifiedEventListener-init] EventProcessor - Add ru.bitel.oss.kernel.entity.server.bean.AbstractEntityDao$1@a95c7c to BG.Event.ru.bitel.oss.kernel.directories.address.common.event.CityModifiedEvent
10-21/15:25:29 DEBUG ["http-bio-/0.0.0.0-8080"-exec-2] AbstractJaxWsHandler - executing ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.inetServList; time => 129 ms.
10-21/15:25:29 DEBUG [ServerDirectoryInfo-init] EventProcessor - Add ru.bitel.bgbilling.kernel.directory.api.server.ServerDirectoryInfo@182a702 to BG.Event.ru.bitel.bgbilling.modules.inet.api.common.event.InetDeviceTypeModifiedEvent
10-21/15:25:29 DEBUG [AddressItemModifiedEventListener-init] EventProcessor - Add ru.bitel.oss.kernel.entity.server.bean.AbstractEntityDao$1@a95c7c to BG.Event.ru.bitel.oss.kernel.directories.address.common.event.AreaModifiedEvent
10-21/15:25:29 DEBUG [AddressItemModifiedEventListener-init] EventProcessor - Add ru.bitel.oss.kernel.entity.server.bean.AbstractEntityDao$1@a95c7c to BG.Event.ru.bitel.oss.kernel.directories.address.common.event.StreetModifiedEvent
10-21/15:25:29 DEBUG [AddressItemModifiedEventListener-init] EventProcessor - Add ru.bitel.oss.kernel.entity.server.bean.AbstractEntityDao$1@a95c7c to BG.Event.ru.bitel.oss.kernel.directories.address.common.event.QuarterModifiedEvent
10-21/15:25:29 DEBUG [AddressItemModifiedEventListener-init] EventProcessor - Add ru.bitel.oss.kernel.entity.server.bean.AbstractEntityDao$1@a95c7c to BG.Event.ru.bitel.oss.kernel.directories.address.common.event.HouseModifiedEvent
10-21/15:25:30 DEBUG ["http-bio-/0.0.0.0-8080"-exec-3] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.ResourceServiceImpl@1436bc4
10-21/15:25:30 DEBUG ["http-bio-/0.0.0.0-8080"-exec-3] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl@226e4c
10-21/15:25:30 DEBUG ["http-bio-/0.0.0.0-8080"-exec-3] AbstractJaxWsHandler - executing ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.trafficTypeList; time => 2 ms.
10-21/15:25:31 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] PermissionChecker - Action InetSessionService:inetSessionLogContractList not found in dictionary for module 15
10-21/15:25:31 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] ResourceManager - Inject to private ru.bitel.bgbilling.kernel.module.common.service.ServiceService ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.serviceService ru.bitel.bgbilling.kernel.module.server.service.ServiceServiceImpl@3260db
10-21/15:25:31 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.ResourceServiceImpl@174d959
10-21/15:25:31 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl@69a268
10-21/15:25:31 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] ResourceManager - Inject to private ru.bitel.bgbilling.modules.inet.api.common.service.InetServService ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.servService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl@1255b14
10-21/15:25:31 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] AbstractJaxWsHandler - executing ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.inetSessionLogContractList; time => 108 ms.
10-21/15:25:32 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] PermissionChecker - Action InetSessionService:inetContractTraffic not found in dictionary for module 15
10-21/15:25:32 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] ResourceManager - Inject to private ru.bitel.bgbilling.kernel.module.common.service.ServiceService ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.serviceService ru.bitel.bgbilling.kernel.module.server.service.ServiceServiceImpl@cbbb77
10-21/15:25:32 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.ResourceServiceImpl@445ae9
10-21/15:25:32 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl@1aca33e
10-21/15:25:32 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] ResourceManager - Inject to private ru.bitel.bgbilling.modules.inet.api.common.service.InetServService ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.servService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl@1114cb7
10-21/15:25:32 DEBUG ["http-bio-/0.0.0.0-8080"-exec-5] AbstractJaxWsHandler - executing ru.bitel.bgbilling.modules.inet.api.server.service.InetSessionServiceImpl.inetContractTraffic; time => 19 ms.
10-21/15:25:34 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.devicePortService ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl@1072154
10-21/15:25:34 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.ResourceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.wsResoure ru.bitel.oss.systems.inventory.resource.server.ResourceServiceImpl@1cc446b
10-21/15:25:34 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] ResourceManager - Inject to ru.bitel.oss.systems.inventory.resource.common.DeviceInterfaceService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl.deviceInterfaceService ru.bitel.oss.systems.inventory.resource.server.DeviceInterfaceServiceImpl@12a5317
10-21/15:25:34 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] ResourceManager - Inject to ru.bitel.bgbilling.modules.inet.api.common.service.InetServService ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.inetServService ru.bitel.bgbilling.modules.inet.api.server.service.InetServServiceImpl@1b542fe
10-21/15:25:34 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] AbstractJaxWsHandler - executing ru.bitel.bgbilling.modules.inet.api.server.service.InetDeviceServiceImpl.inetDeviceGet; time => 11 ms.
10-21/15:25:34 DEBUG [ServerDirectoryInfo-init] EventProcessor - Add ru.bitel.bgbilling.kernel.directory.api.server.ServerDirectoryInfo@1d4a2bd to BG.Event.ru.bitel.oss.kernel.entity.common.event.EntitySpecModifiedEvent



лог при
contract = cm.createFromPattern( 41, "test1", contractDate, contractPass );

Код:
в server.out
SEVERE: null
ru.bitel.bgbilling.kernel.event.EventProcessorException: Local event must be generated in ServerContext!

в server.log


10-21/15:29:15  INFO ["http-bio-/0.0.0.0-8443"-exec-3] LoggingPrintStream - Создаем договор
10-21/15:29:19 DEBUG ["http-bio-/0.0.0.0-8080"-exec-1] EventProcessor - Add ru.bitel.bgbilling.kernel.container.security.server.PermissionChecker$1@17c0e2b to BG.Event.ru.bitel.bgbilling.kernel.module.server.event.ModulesChangedEvent
10-21/15:29:19  INFO ["http-bio-/0.0.0.0-8080"-exec-1] PermissionChecker - Reload permissions..
10-21/15:29:19 DEBUG ["http-bio-/0.0.0.0-8080"-exec-1] EventProcessor - Add ru.bitel.bgbilling.kernel.container.ws.server.JaxWsHandler$1@17a2981 to BG.Event.ru.bitel.bgbilling.kernel.event.events.system.ModuleConfigModifiedEvent
10-21/15:29:19  INFO ["http-bio-/0.0.0.0-8080"-exec-1] ModuleActionMap - Load module actions
10-21/15:29:20 DEBUG ["http-bio-/0.0.0.0-8080"-exec-1] EventProcessor - Add ru.bitel.bgbilling.kernel.container.security.server.ModuleActionMap$1@d00936 to BG.Event.ru.bitel.bgbilling.kernel.module.server.event.ModulesChangedEvent
10-21/15:29:20  INFO ["http-bio-/0.0.0.0-8080"-exec-1] ModuleActionMap - Load modules
10-21/15:29:20 DEBUG ["http-bio-/0.0.0.0-8080"-exec-1] PermissionChecker - Action MessagesForUsersService:getLastMessageId not found in dictionary for module 0
10-21/15:29:20 DEBUG ["http-bio-/0.0.0.0-8080"-exec-1] AbstractJaxWsHandler - executing ru.bitel.bgbilling.kernel.admin.messages4users.server.MessagesForUsersServiceImpl.getLastMessageId; time => 2 ms.
10-21/15:29:20 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] PermissionChecker - Action MessagesForUsersService:getUserId not found in dictionary for module 0
10-21/15:29:20 DEBUG ["http-bio-/0.0.0.0-8080"-exec-4] AbstractJaxWsHandler - executing ru.bitel.bgbilling.kernel.admin.messages4users.server.MessagesForUsersServiceImpl.getUserId; time => 0 ms.
10-21/15:29:21 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] PermissionChecker - Action MessagesForUsersService:getMessageListFromLastMessageId not found in dictionary for module 0
10-21/15:29:21 DEBUG ["http-bio-/0.0.0.0-8080"-exec-6] AbstractJaxWsHandler - executing ru.bitel.bgbilling.kernel.admin.messages4users.server.MessagesForUsersServiceImpl.getMessageListFromLastMessageId; time => 2 ms.



Автор:  Artur [ 21 окт 2015, 14:44 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Ну и версию бы желательно узнать...

Автор:  Ping333 [ 21 окт 2015, 14:47 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Клиент: вер. 6.2.757 / 01.10.2015 12:37:57
Сервер: вер. 6.2.958 / 01.10.2015 12:38:19

Автор:  Ping333 [ 21 окт 2015, 15:03 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

блин не тот, извиняюсь
вот
Клиент: вер. 6.0 сборка 1385 от 02.09.2015 07:41:56
Сервер: вер. 6.0 сборка 1862 от 19.08.2015 16:20:56

Автор:  Artur [ 21 окт 2015, 15:10 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Ping333 писал(а):
Клиент: вер. 6.0 сборка 1385 от 02.09.2015 07:41:56
Сервер: вер. 6.0 сборка 1862 от 19.08.2015 16:20:56


А последняя версия от сегодняшнего числа...

Автор:  Ping333 [ 21 окт 2015, 15:35 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Клиент: вер. 6.0 сборка 1389 от 21.10.2015 14:10:54
Сервер: вер. 6.0 сборка 1867 от 19.10.2015 17:37:38
ошибки теже самые

Автор:  Ping333 [ 28 окт 2015, 11:42 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Ребят ну подскажите че делать то? sql что ли мастрячить? или направьте в хелпдеск чтоли.

Автор:  vkulakov [ 28 окт 2015, 12:00 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

А я ошибок не вижу... Или ошибка это про эвент?

Совсем недавно тоже создавал договоры скриптом и версии у меня относительно свежие - проблем не было. Предлагаю вам в качестве эксперимента завести совсем пустой шаблон и попробовать создать договор по нему. Если всё получится, то пробовать добавлять в шаблон нужные настройки и смотреть, когда поломается. Может там косяк проявляется только при определённых настройках шаблона.

Если и на пустом шаблоне будут проблемы, то я тоже попробую.

Автор:  Ping333 [ 28 окт 2015, 12:27 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Сделал новый шаблон, пустой. ошибка таже
SEVERE: null
ru.bitel.bgbilling.kernel.event.EventProcessorException: Local event must be generated in ServerContext!
возникает на строке
contract = cm.createFromPattern( 41, "test1", contractDate, contractPass );
соответственно договор не создался

Автор:  Phricker [ 28 окт 2015, 12:29 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

fpaste.org
код дайте то.

Автор:  Ping333 [ 28 окт 2015, 12:39 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

http://fpaste.org/284361/44601424/

Автор:  vkulakov [ 28 окт 2015, 12:39 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Запустил свой мега-скрипт для создания договора - всё замечательно.

А вы как запускаете свой скрипт то? Я - из дин. кода жму Run и всё хорошо становиться.

Да, а названия договоров у вас разные или с одним и тем же пытаетесь создавать?

Автор:  Ping333 [ 28 окт 2015, 12:48 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

названия разные, а одни и тем же нельзя же создать.
веб интерфейс, с него пост запрос в jar на серваке,

Автор:  vkulakov [ 28 окт 2015, 13:04 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Подозреваю, что проблема в текущем контексте.

Вы написали свой сервлет и в контексте, в котором он запускается, нет нужных объектов. Предлагаю создавать договор через экшен или через веб-сервис, смотря что используется в стандартной реализации в вашей версии. Либо разбирать стандартный экшен и пробовать создать такое же окружение в своём сервлете. Как быстрый вариант, можно попробовать просто наследоваться от экшена и посмотреть, что будет - я думаю, ничего не получится.

Автор:  stark [ 28 окт 2015, 13:05 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Ping333 писал(а):
названия разные, а одни и тем же нельзя же создать.
веб интерфейс, с него пост запрос в jar на серваке,

какой запрос. и ошибку из логов целиком

Автор:  Phricker [ 28 окт 2015, 13:11 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

Может ваша проблема как раз таки
viewtopic.php?f=19&t=8857&view=previous#p72545

И свой title вместо "test" можно задавать через
Код:
ContractPatternManager.getContractTitle(con, pattern, contractDate)

Автор:  Ping333 [ 28 окт 2015, 14:08 ]
Заголовок сообщения:  Re: как прально синхронизироваться по mutex

про ContractPatternManager спасибо учту.
помогло final ServerContext context, договор создался по шаблону, все огонь только сервис из модуля инет не создался, хотя в шаблоне он есть.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/