Зачем мне нужен DataHandler? - PullRequest
11 голосов
/ 10 марта 2011

Какова основная причина использования javax.activation.DataHandler?

Это облегчает передачу объектов, которые не реализуют Сериализуемый, по сети?

т.е. например, я видел преобразование файлов из локальных файловых систем в байты, а затем создал DataHandler с этими байтами и передал DataHandler по сети.
Это причина, по которой можно было бы использовать DataHandler?

Ответы [ 2 ]

6 голосов
/ 11 марта 2011

Я начну с начала описания из записи API для DataHandler:

Класс DataHandler обеспечивает согласованный интерфейс для данных, доступных во многих различных источниках и форматах. Он управляет преобразованиями простых потоков в строки и связанными с ними операциями с использованием DataContentHandlers.

Правда, это не самое ясное описание. DataHandler имеет отношение к XML и SOAP, что вы можете увидеть на вкладке использования 1011 * его страницы API . Как и вы, я использовал его для представления данных о загруженном файле, который отправляется из одного компонента веб-службы в другой для обработки.

Интерфейс Transferable, который реализует DataHandler, не совсем относится к "передаче" типа сериализации. Речь идет о передаче информации между отдельными компонентами в программе или отдельными программами, а не сохранением объекта для последующего использования. См. API-запись для Transferable для получения дополнительной информации. Вы заметите, что он ссылается на обучающее руководство по перетаскиванию Java , которое не имеет ничего общего с DataHandler, но иллюстрирует использование Transferable.

1 голос
/ 03 декабря 2013

Существуют также соображения производительности, т. Е. Использование javax.activation.DataHandler для вложения SOAP повысит производительность.

например, как упоминалось в Oracle "... Улучшенная производительность: неформальные тесты показали, что использование оберток DataHandlerудваивает пропускную способность для MIME-типов image / gif и умножает пропускную способность примерно на 1,5 для text / xml или java.awt.Image для типов image / * .... ... это из LINK

Другие ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...