@Transactional(propagation=Propagation.REQUIRED)
и @Transactional(rollbackFor = Exception.class)
примерно одинаковы. Как propagation=Propagation.REQUIRED
является по умолчанию . Таким образом, с учетом этого они эквивалентны @Transactional(propagation=Propagation.REQUIRED)
и @Transactional(propagation=Propagation.REQUIRED, rollbackFor = Exception.class)
.
Единственное отличие состоит в том, что без rollbackFor = Exception.class
он будет выполнять откат только на RuntimeException
и Error
, а не на другие возникающие исключения. (Это то же самое для JEE при использовании EJB, и поведение также было переведено в Spring).
Это также объясняется в Javadoc @Transactional
.
Нет, svchost.exe недокументирован и поддерживается только для служб, которые являются частью Windows.
Отчасти причина заключается в надежности - сбой в сторонней службе не должен влиять на критическая служба Windows.
Почему вы хотите использовать svchost? У вас есть несколько услуг, которые вы хотите объединить? Создать собственный исполняемый файл для размещения нескольких служб довольно просто.
Комментарий в этой ссылке поможет вам, здесь слишком много, чтобы вырезать / вставить. Источник - C ++, так как вы не указали язык, я не думаю, что это будет иметь значение.
РЕДАКТИРОВАТЬ: Для протокола, я не говорю, что это хорошая идея.
Вы можете загрузить комплект ресурсов Windows NT ( http://www.microsoft.com/downloads/details.aspx?familyid=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang= ru ) и следуйте этим инструкциям, чтобы создать службу из чего угодно: http://support.microsoft.com/kb/137890