я должен звонить близко () после urllib.urlopen ()?

Моя компания использует MediaWiki и TikiWiki для большей части документации. У нас также есть парень, который компилирует материал в MS Word и форматы PDF для печати/отправки клиентам. Я рекомендовал бы избегать TikiWiki как чумы. MediaWiki является большим, и потому что это действительно просто в использовании и потому что все знают, как использовать его - это - фактическая стандартная Wiki, и по достоинству так, по моему скромному мнению.

70
задан Charles Menguy 25 April 2012 в 04:32
поделиться

3 ответа

Хм. Похоже, что самый простой способ получить то, что я хочу на стороне Java приложения, - использовать Servlet.getServletConfig (). getInitParameter (parameterName) например, getInitParameter ("myApp.connectionString");

Но я не знаю, где это установить. В документации Tomcat рассказывается о различных перестановках context.xml, но я хочу убедиться, что этот параметр влияет только на мой сервлет, а не на другие. Я также не хочу размещать его в моем файле .war, чтобы я мог сохранить этот параметр независимо от приложений (например, если я устанавливаю обновление).


Обновление: Я понял это, ключ / параметры значения, доступные для ServletContext.getInitParameter () , перейдите сюда (или можете перейти сюда) в $ {CATALINA_HOME} /conf/server.xml:

<Server port=... >
    ...
  <Service name="Catalina" ...>
    <Engine name="Catalina" ...>
      ...
      <Host name="localhost" ...>
        <Context path="/myWarFile">
          <Parameter name="foo" value="123" />
          <Parameter name="bar" value="456" />
           ...
        </Context>
      </Host>
    </Engine>
  </Service>
</Server>

Это устанавливает два параметра,

102
ответ дан 24 November 2019 в 13:27
поделиться

Как говорит @Peter, открытые URL-адреса вне области видимости станут подходящими для сборки мусора.

Однако также обратите внимание, что urllib.py определяет:

 def __del__(self):
        self.close()

Это означает, что , когда счетчик ссылок для этого экземпляра достигает нуля , будет вызван его метод __ del __ , и, следовательно, будет вызван его метод close . Самый «нормальный» способ для счетчика ссылок достичь нуля - просто позволить экземпляру выйти за пределы области видимости, но ничто не мешает вам сделать явный del x на ранней стадии (однако он напрямую не вызывает __ del __ , но просто уменьшает счетчик ссылок на единицу).

It '

12
ответ дан 24 November 2019 в 13:27
поделиться

Строго говоря, это правда. Но на практике, как только (если) urllib выходит из области видимости, соединение будет закрыто автоматическим сборщиком мусора.

4
ответ дан 24 November 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: