Nano Hash - криптовалюты, майнинг, программирование

Ведение журнала Apache CXF

У меня есть некоторые проблемы со связью сервер-клиент через веб-сервисы с Apache CXF framework. Я хочу записывать ошибки сервера во внешний файл вместо терминала. Кусок кода для сервера;

server= new JaxwsNotificationBroker("Hello",..);
server.setAddress("http://localhost:" + brokerPort + "/wsn/NotificationBroker");

И я попробовал это для ведения журнала;

server.getInInterceptors().add(new LoggingInInterceptor());
server.getOutInterceptors().add(new LoggingOutInterceptor());

Но выдает ошибку The method getInInterceptors() is undefined for the type JaxwsNotificationBroker.

Есть ли способ зарегистрировать ошибки для JaxwsNotificationBroker?

Спасибо

11.07.2012

Ответы:


1

Вы можете добавить loggingInInterceptor и logOutInterceptor внутрь cxf:bus

<cxf:bus>
    <cxf:ininterceptors>
      <ref bean="loggingInInterceptor" />
    </cxf:ininterceptors>
    <cxf:outinterceptors>
      <ref bean="logOutInterceptor" />
    </cxf:outinterceptors>
  </cxf:bus>
21.09.2012

2

добавьте это в свой конфигурационный файл Spring, если вы используете Spring:

    <cxf:bus>
    <cxf:features>
        <cxf:logging />
    </cxf:features>
</cxf:bus>

не забудьте добавить пространство имен cxf как

xmlns:cxf="http://cxf.apache.org/core"
11.07.2012

3

Если вы используете log4j для ведения журнала, вы должны поместить файл META-INF/cxf/org.apache.cxf.Logger в путь к классам с именем класса org.apache.cxf.common.logging.Log4jLogger в виде одной строки. , в противном случае cxf будет использовать основные средства регистрации платформы JavaTM 2.

11.07.2012

4

По какой-то причине gnodet хотел, чтобы весь материал WS-N был как можно более независимым от CXF и полагался только на чистый материал JAX-WS. Таким образом, хорошие методы для таких вещей, как перехватчики CXF, невозможны. :-(

Глядя на код, единственным вариантом сейчас будет написать подкласс JaxwsEndpointManager, который вызовет метод super.register, затем приведет его к CXF EndpointImpl и установит там перехватчики. Не совсем идеально. :-(

16.07.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..