Проблемы с TMP со службой java в службе Windows 2008

У меня довольно неприятная проблема с сервером Windows 2008. У нас есть Java-приложение, которое работает как служба с использованием пользователя локальных служб. Проблема в том, что у этого пользователя нет доступа для чтения/записи к указанному каталогу tmp java (указанному системой). Это означает, что каждый раз, когда приложение пытается создать файл tmp, возникает исключение IOException.

Is there any way to make a java application that need access to the tmp directory run as a service without:

  • Создание нового пользователя специально для этой цели
  • Указание нового каталога tmp (который вам придется очистить самостоятельно)

  • person Mans    schedule 01.04.2010    source источник


    Ответы (2)


    Есть ли причина, по которой вы не можете предоставить разрешения учетной записи «NT AUTHORITY\LocalService» на запись во временный каталог Java по умолчанию?

    person ewall    schedule 15.04.2010
    comment
    Даже если это работает, это кажется раздражающим шагом для пользователей, которые устанавливают ваше программное обеспечение. Является ли эта проблема java использованием недопустимого java.io.tmpdir или проблемы с разрешениями ОС в каталоге tmp? - person jnorris; 25.09.2010
    comment
    @jnorris Действительно. Существуют определенные ограничения при работе в качестве службы под учетной записью Windows LocalService, включая блокировку большинства исходящих сетевых вызовов... но было бы крайне необычно, если бы java.io.tmpdir был установлен на сетевой диск. Так что я согласен, что это, вероятно, получает плохое значение, и его можно/должно установить непосредственно в командной строке, чтобы быть уверенным (как предлагает @crowne). - person ewall; 28.09.2010