Java Service Wrapper Community Edition é um software de linha de comando fonte completamente livre e aberto, que foi projetado desde o início para atuar como um configurável e fácil de usar utilitário para a implantação de aplicativos java como daemons UNIX nativos ou o Windows fundo services.Provides correcção da falha functionalityIt é um software flexível, confiável e multi-plataforma que fornece a funcionalidade de correcção da falha que irá reiniciar automaticamente não-responsivos ou caiu JVMs (Java Virtual Machines). Além disso, o software apresenta scripting padrão, instalação fácil aplicação, e funcionalidade de registro, gestão de processos filho, eventos cronometrados, e-mails de alerta, os comandos de evento, os limites de memória relativos, suporte para vários idiomas, bem como eventos e ações definidas pelo usuário.
O Community Edition é distribuído sob uma licença de código aberto, por isso & rsquo; funcionalidade s é limitado, como você vai ser capaz de usar apenas a permitir que aplicações Java para ser executado como um daemon UNIX, reinicie e monitorar JVMs, para controlar a prioridade do processo, a trigger JVM reinicia, despejo de segmentos e paralisações, para usar um diretório de trabalho personalizado, para usar wildcards, bem como para registrar e capturar JVM consola output.Getting começou com Java Service Wrapper Comunidade EditionTo começar com o Community Edition do Java Service Wrapper , baixe o pacote que corresponde ao seu computador & rsquo; s arquitetura, salve o arquivo em seu diretório home, descompactá-lo, abra um aplicativo Terminal, vá até o local do & lsquo; bin & rsquo; pasta (por exemplo /home/softoware/wrapper-linux-x86-64-3.5.26/bin/ cd) e executar o & lsquo; ./ invólucro & rsquo; comando, que irá exibir a mensagem de uso e options.Runs de linha de comando disponíveis em uma ampla gama de POSIX e operacional UNIX-like systemsJava Service Wrapper é distribuído em três edições, Community Edition, Standard Edition e Professional Edition. É compatível com todas as distribuições GNU / Linux, mas é executado em uma ampla gama de POSIX e sistemas operacionais UNIX-like, incluindo FreeBSD, AIX, HP-UX, Microsoft Windows, Mac OS X e Solaris, suportando 64 bits (x86_64 ), 32-bit (x86), Armel, ARMHf, SPARC, s390, s390x, plataformas de hardware Itanium, PPC (PowerPC), bem como PA-RISC.
O que é novo nesta versão:.
- Melhorar as mensagens de log quando um reinício JVM é solicitada quando o Wrapper está em um estado que ele será ignorado (Standard / Professional Edition)
- Adicionar uma mensagem de depuração adicional quando uma varredura completa impasse. Nenhuma alteração funcional, mas este foi adicionado para torná-lo fácil de dizer quanto tempo a varredura leva em uma determinada aplicação.
- Limpe o rastreamento interno do local onde as variáveis de ambiente foram definidas. Sem alterações funcionais.
- Ao detectar Cygwin com 'uname -o' no arquivo de script, alguns sistemas operacionais (Solaris, MacOS, etc.) mostram uma mensagem de erro, porque '-o' não é um parâmetro válido. Agora vamos esconder essa mensagem de erro para evitar confusão e podemos supor que Cygwin não está em execução.
- Adicionar a capacidade de controlar a executar o serviço com systemd usando o arquivo de script.
- No Mac OS X, corrigir um erro de digitação, adicionar uma outra forma alternativa para encontrar Java para definir a variável de ambiente JAVA_HOME, e usar o caminho completo para executar sysctl no caso, não é o caminho. Graças a Dannes Wessels por apontar isso.
- Resolver um problema em versões mais recentes do Windows ao personalizar o Wrapper. O certificado não foi removido ao criar o alvo. Este foi levando a um erro ao tentar acessar o alvo com um novo certificado.
- Adicionar suporte em falta no script shell para reiniciar / parar o serviço Wrapper com launchctl no Mac OS X.
- Adicionar suporte em falta no script shell para reiniciar / parar o serviço Wrapper com Upstart.
- Adicionar a capacidade de definir o caminho do comando 'su', bem como a capacidade de especificar argumentos adicionais no script shell Wrapper usando novas variáveis SU_BIN e SU_OPTS.
- Resolver um problema nas classes auxiliares WrapperSimpleApp, WrapperStartStopApp e WrapperJarApp onde os problemas de linha de comando que resultaram na JVM sair na inicialização pareciam saídas inesperadas. Isto significava que o Wrapper iria tentar relançar a JVM novamente ao invés de desistir na primeira tentativa.
- Modificado as classes auxiliares WrapperSimpleApp, WrapperStartStopApp e WrapperJarApp para que seus banners de uso só agora ser mostrada para os problemas relacionados com linha de comando. Problemas com as classes, métodos ou arquivos jar especificados ainda são registrados como erros, mas mostrando ao usuário o uso nesses casos foi confuso.
- Corrija o método WrapperResources.getString () que não tem argumentos de substituição para que o seu processamento da corda crua é manuseado o mesmo que os métodos que têm argumentos de substituição. Agora todas as cadeias são processados pela classe MessageFormat antes de ser devolvido. As versões anteriores não foram consistentes sobre a necessidade de escapar aspas simples.
- Adicionado validação da chave opcional para se certificar de que as cordas passados para o método WrapperResources.getString () estão formatados corretamente. Consulte a classe WrapperResources para obter informações sobre como ativar.
- Adicionar novas opções para a propriedade wrapper.backend.type: AUTO, soquete, SOCKET_IPv4, SOCKET_IPv6, PIPE. Quando definido como AUTO, o Wrapper irá tentar abrir um ipv4 soquete e fallback para ipv6 e tubo em caso de erro.
- Fix bug quando a conversão de vários bytes de largura de char sem definir a localidade na inicialização (somente Unix). Graças a Bert.
- Adicionar um alias de 'CLOSE_BACKEND' para 'CLOSE_SOCKET' como um comando de teste para a propriedade wrapper.commandfile. Isto é porque tem havido várias opções para a conexão backend por algum tempo e o nome é mais portátil.
- Resolver um problema no Mac OS X ao executar Yosemite onde o script estava falhando para comparar corretamente versões '10 .10 'a '10 .5.0'. Este foi levando para o script de pensar que apenas os binários de 32 bits pode ser executado. Este foi apenas um problema se estava sendo usada a nomeação pacote delta dos binários de mensagens publicitárias.
- Adicionar uma nova propriedade wrapper.java.classpath.missing.loglevel que torna possível controlar como o Wrapper registra advertências sobre faltando elementos de caminho de classe. Anteriormente, esta sempre foi registrado como saída de depuração e não poderia ser desativado.
- Se houver algum problema de baixo nível lançamento do processo de Java que não estão relacionados com a configuração ou o próprio JVM, o Wrapper deixará de tentar novamente, como tal, novas tentativas foram sem sentido.
- APIs do sistema Windows tem um problema que causa um processo para deixar de funcionar se tenta definir uma variável de ambiente ao longo 32767 caracteres de comprimento. O Wrapper verifica isso e registra um erro em vez de definir a variável. Este foi um problema se muito grandes classpaths foram usadas quando a propriedade wrapper.java.classpath.use_environment era verdade.
- Windows não permite que uma linha de comando a ser maior do que 32.766 caracteres. Diferentes versões do Windows lidar com isso de forma diferente quando um comando longo como é fornecido. O Wrapper agora faz o seu próprio check-in e mostra um erro de uma forma consistente.
- Melhorar a mensagem de erro em plataformas UNIX, quando a linha de comando é mais do que o máximo do sistema. Esta máxima varia muito, por plataforma e ambiente e é difícil de calcular de forma confiável, de modo que o comprimento máximo não é mostrado atualmente na mensagem.
- Resolver um problema em plataformas UNIX, onde um grande arquivo de configuração podem causar a WrapperManager ao fracasso da colocação em funcionamento. Isso foi causado pela transferência parcial do arquivo de configuração para o WrapperManager via a conexão backend. Isto acontece independentemente do tipo de infra-estrutura usada. O tamanho do arquivo de configuração que poderia causar um problema variado muito baseado no sistema específico.
- Resolver um problema em plataformas Windows, onde um grande arquivo de configuração deixaria de ser enviado para o WrapperManager no arranque quando a propriedade wrapper.backend.type foi definido para PIPE. O único problema era que os WrapperManager.getProperties () método seria vazio. (Professional Edition)
- Adicionar cheques para o WrapperManager.exec () métodos no Windows para o comprimento máximo da linha de comando de 32.766, e ambiente máxima de nome e valor variável comprimento par de 32767. (Professional Edition)
- Resolver um problema em que um livre de um ponteiro NULL estava sendo feito como parte do processo de limpeza de uma chamada WrapperManager.exec (). Isso não é conhecido por ter causado problemas.
- Adicionado getStdOut (), getStdErr () e getStdIn () para a classe WrapperProcess como aliases para o getInputStream (), getErrorStream () e getOutputStream () métodos para ajudar a evitar confusão.
- Resolver um problema no Windows 7, onde as linhas de registo longos foi corrompido após 31.397 caracteres quando wrapper.console.direct era verdade. Este parece ser um problema com a API subjacente do Windows e foi apenas um problema de exibição. Reduziu o número máximo de caracteres que podem ser escritos com uma única chamada de API para 30000 para contornar o problema. Esta mudança é interna e ainda não há um limite para o comprimento das linhas registados.
- Corrigir um impasse se o Wrapper não conseguiu escrever para o servidor quando a propriedade foi wrapper.backend.type PIPE. Encontrado por revisão de código e não é conhecido por ter realmente aconteceu.
- A partir de Mac OSX 10.5.0, o arquivo script vai usar a tecla 'KeepAlive' no arquivo de configuração launchctl. As versões anteriores do Mac OSX vai continuar a usar a mesma "OnDemand 'chave. Graças a Robin por apontar isso. (Standard / Professional Edition)
- Não permitir o uso de hostids vinculados a dispositivos da Apple Bluetooth quando rodando em um sistema Windows virtualizado hospedado em um sistema OS X.
- Resolver um problema onde WrapperManager.log () não estava funcionando corretamente quando as mensagens multi-byte foram registradas.
- Na saída de depuração do pacote completo propriedades de configuração é suprimida a partir da saída de log porque ele é enorme e pode conter dados confidenciais. Adicionar um tamanho para a saída abreviado para ajudar na depuração.
- Corrigir um vazamento de memória em plataformas UNIX, sempre que uma mensagem de erro foi relatado. Este foi apenas um problema se a mensagem foi registrada repetidamente.
- Corrigir um par outros vazamentos de memória potenciais encontrados através de revisão do código. Não conhecido por ter sido causar quaisquer problemas reais.
O que é novo na versão 3.5.23:
- Standard / Professional Edition:
- Quando um tipo de licença de desconhecido é encontrado, inclua o tipo desconhecido na mensagem de erro para ajudar com a depuração.
- Resolver um problema de corrupção de memória no z / OS quando o idioma foi criado para uma localidade byte duplo como japonês.
- Atravesse e fazer o Wrapper muito mais durável quando mal codificado caracteres de dois bytes são encontrados.
- preofessional Edição:
- Modificar a exceção lançada quando WrapperManager.exec () é chamado enquanto o Wrapper é desligamento por isso agora diz que ao invés de dizer que a biblioteca nativa não é carregado.
- O Wrapper é agora mais cuidado para se certificar de que o backend nunca está fechado, enquanto um processo filho está sendo lançado para garantir que o Wrapper sabe sobre todos os processos filhos lançados.
- Adicionar uma mensagem de aviso caso o Wrapper não é notificado de um processo filho lançado devido à conexão backend sendo fechado.
- Corrigir um NPE potencial que poderia ser jogado durante a leitura de saída ou saída stderr de um processo filho, enquanto o Wrapper estava fechando e após o processo filho terminou.
- Resolver um problema em plataformas UNIX onde estávamos ficando preso tentando limpeza depois de um processo que estava atualmente bloqueio em uma leitura de stdout ou stderr.
- Resolver um problema em plataformas UNIX, onde um tempo limite de tentar obter um bloqueio interno da lista de processos criança estava causando um contador interno para ficar fora de sincronia, levando a um outros processos filhos rescindido sendo deixado zumbis como extinta até que o processo Java rescindido.
- Resolver um problema em plataformas UNIX, onde as descrições de arquivos de tubos usados para se comunicar com os processos filhos estavam sendo incorretamente passados para todos os processos filhos. Eles não foram crescendo ao longo do tempo.
- Resolver um problema em sistemas FreeBSD onde o wrapper.lang.encoding não estava resolvendo a UTF-8 corretamente quando a variável de ambiente LANG não foi definida.
- Resolver um problema de sincronização potencial chamando WrapperProcess.waitFor () ou WrapperProcess.exitValue ().
- Adicionar a saída do log de depuração adicionais mostrando os vários valores de tempo limite para ajudar com os problemas dos usuários de depuração.
- Resolver um problema em que o script shell não foi detectar corretamente a versão do sistema operacional Mac OSX com Maverick.
- Adicionar advertências sobre variáveis de ambiente indefinidos em incluir referências de arquivo no arquivo de configuração.
- Adicionar suporte para expansão de variáveis de ambiente em arquivos especificados com o wrapper.java.additional_file e wrapper.app.parameter_file propriedades.
- corrigir a formatação no método WrapperUNIXGroup.toString () inteiro, por isso é coerente com o resto do Wrapper.
- Resolver um problema em que a exigência biblioteca iconv não poderia ser satisfeita em FreeBSD 10. Nós agora localizar a biblioteca de forma dinâmica, procurando por /usr/local/lib/libiconv.so, /usr/local/lib/libbiconv.so ou /lib/libkiconv.so.4 nessa ordem.
- Corrigir um método a WrapperPrintStream.println () para strings contendo linefeeds vai ter corretamente cada linha prefixado com o cabeçalho configurado.
O que é novo na versão 3.5.14:
- Resolver um problema no AppCommand.bat.in arquivo onde um parêntese no nome do binário Wrapper arquivo teria causado uma & quot; PATH foi inesperado neste momento & quot; erro.
- (Standard / Professional Edition)
- Resolver um problema ao usar uma versão localizada do Wrapper em plataformas Windows de 64 bits, onde o Wrapper continuariam a usar o idioma padrão do sistema, mesmo wrapper.lang foi usado para especificar um idioma diferente. Introduzido em 3.5.12.
- Resolver um problema no arquivo batch com base de comando do Windows AppCommand.bat.in onde o comando 'status' foi incorretamente que está sendo relatado como 'consulta' na saída de uso. O comando 'status' sempre tinha trabalhado corretamente se usado.
- Resolver um problema em plataformas UNIX, onde algumas mensagens assíncronas estavam causando uma mensagem de aviso & quot; Codificação erro ... & quot; estar logado no lugar da mensagem pretendida. Isso pode ser visto se o arquivo de log configurado não tem permissões de gravação. Outros que a mensagem de log incorreto, o Wrapper funcionou corretamente. Introduzido em 3.5.2.
- Resolver um problema no script UNIX onde correr com arrivista não estava funcionando corretamente quando RUN_AS_USER foi definido.
- Relaxe verificações de segurança ao executar o comando 'status' contra o script shell UNIX e que agora permite que qualquer usuário que executa o script para realizar a verificação de somente leitura do arquivo pid.
- Resolver um problema com o script UNIX onde o "remover" comando estava tentando parar um aplicativo em execução, mesmo quando o pedido não tinha sido instalado.
- Corrigir um estouro de buffer que poderia causar um acidente durante a instalação de um serviço do Windows quando wrapper.ntservice.account foi especificado. Este foi introduzido em 3.5.12.
- Corrigir uma corrupção de memória que poderia ocorrer na inicialização e, potencialmente, causar um acidente. Somente os sistemas Windows, que utilizam os logs de eventos do sistema, foram afetados. Descoberto a partir de uma revisão do código, nunca houve nenhum relato de esta causando problemas para os usuários. Isso pode acontecer se o wrapper.log configurado para não poderia ser escrito como o Wrapper sempre tenta escrever para o log de eventos em tais casos. Introduzido em 3.5.12.
- Adicionar uma nova versão comparação entre o script shell UNIX e Wrapper para começar a mostrar um aviso em caso de incompatibilidade de versão. O cheque só vai funcionar se o script shell e Wrapper são cada um de pelo menos a versão 3.5.14.
- Adicionado uma nova propriedade wrapper.pidfile.strict que dirá ao Wrapper para não iniciar se o arquivo pid já existia. O padrão é false para compatibilidade com versões anteriores.
- Faça lado do Java da tomada de backend mais resistente em caso de ler ou escrever timeout. A tomada de backend não tem um tempo limite definido por padrão, por isso não deve ter sido um problema. Um casal usuários relataram problemas em sistemas específicos no entanto o que levou a essa correção.
- Para ajudar no teste do tempo limite de soquete backend, uma nova propriedade sistema wrapper.backend.so_timeout foi adicionado para torná-lo possível configurar o soquete de backend para usar um timeout. Veja o Javadocs do WrapperManager.exec () da classe para mais detalhes.
O que é novo na versão 3.5.11:
- corrigir uma falha potencial no Windows causada por um buffer transbordamento. Este tem sido um problema desde a versão 3.5.0 e afeta as configurações que definem mais de um wrapper.ntservice.dependency .. Dependendo do que foi na memória, este nem sempre resultou em um acidente. Ele tem um comportamento muito reproduzível para um determinado arquivo de configuração.
- Resolver um problema no Windows, onde o Wrapper estava levando 15 segundos ou mais para inicialização em alguns sistemas, porque a chamada de sistema WinVerifyTrust estava tendo problemas ao atualizar o CRL. Este tinha sido um problema desde os binários Wrapper começou a ser assinado na versão 3.5.7. Se a chamada WinVerifyTrust leva mais tempo do que o wrapper.startup_thread.timeout configurado então o Wrapper continuará a inicialização sem mais delongas.
- (Standard / Professional Edition)
- explicitamente remover o certificado do binário personalizado durante a personalização. Houve problemas demissionários o binário com outro certificado de outra forma.
- Se o Wrapper é incapaz de escrever para o wrapper.logfile configurado por qualquer motivo, então nós sempre recorrer a um arquivo de log padrão e, em seguida, registrar uma mensagem sobre a falha. Se o padrão também falhar, então, que também é registrada, mas as mensagens só de estar conectado para o console na maioria dos casos. Modificar o Wrapper para que agora sempre enviar duas mensagens para o syslog ou EventLog independentemente do que o wrapper.syslog.loglevel está definido. Isso é importante para ajudar a rastrear a causa de problemas de acesso ao arquivo de log.
- A partir da versão 3.5.0, foi possível internamente para imprimir mensagens de log multi-linha para que todas as linhas seriam sempre agrupados no arquivo de log. Esta versão modifica o código de registro um pouco para que a saída do log, tais multi-linha agora está registrada como uma única mensagem no sylog UNIX ou Windows EventLog.
- Resolver um problema onde muito longas filas de saída do JVM faria com que o Wrapper para aparecer para pendurar por um tempo. A primeira vez que uma única linha de produção contendo centenas de milhares de caracteres foi registrado, um buffer interno foi sendo progressivamente aumentada em 100 caracteres por ciclo. O envoltório agora aumenta o tamanho com base no último tamanho conhecido para reduzir significativamente o número de ciclos necessários para se escolher um novo tamanho de buffer.
- Modificar o comando PAUSE_THREAD por isso agora é possível esperar indefinidamente. Só útil para testar o Wrapper.
- Adicionar um novo comando PAUSE_LOGGER para torná-lo possível pausar a próxima entrada log. Só útil para testar o Wrapper.
- No UNIX, o tubo stdout / stderr entre a JVM e Wrapper não estava sendo feita corretamente. Isso resultou em um pequeno vazamento, mas era de outra maneira inofensiva. Os tubos são agora limpas e inicializado para cada instância do JVM.
- Resolver um problema em que o Wrapper poderia deixar de reiniciar o JVM quando da solicitação de reinicialização originou na JVM se o sistema estava com IO muito pesado, resultando em longas filas IO de disco. Este foi causando loop principal do Wrapper para bloquear na gravação e não atender o pedido reinício, fazendo com que o Wrapper para desligamento ao invés de reiniciar. Isso pode afetar todas as plataformas. No Windows, ele também poderia ser reproduzida por fazer uma seleção no console para congelar saída e, em seguida, fazer uma solicitação de dentro da JVM para reiniciar.
- Adicionar uma nova classe auxiliar WrapperPropertyUtil para torná-lo mais fáceis de acessar valores de propriedade Wrapper de dentro da JVM.
- Corrigir um bug em algumas plataformas em que a saída log java poderia ficar danificado devido ao uso indevido de uma função do sistema strncpy. Esta função adverte que algumas implementações não suportam cópias de memória sobrepostas. O problema só poderia ser reproduzida em uma única máquina de teste Linux nas linhas a seguir uma linha vazia de saída. Este problema existe desde 3.4.0.
O que é novo na versão 3.5.9:
- Resolver um problema no Windows, onde os adaptadores de rede, cujos nomes continham & quot; PRO / 1000 & quot; estavam a ser removido da lista de hostids exibido quando o & quot; Wrapper.exe -h & quot; foi executado. Isso não afeta os arquivos de chave de licença do servidor existentes gerados para hostids relatados por 3.5.7 ou anterior, ou as chaves de licença de desenvolvimento. Mas causou o Wrapper de informar que não há hostids válidos poderia ser encontrado quando o Wrapper foi iniciado sem um arquivo de licença. Isto foi causado por um código de teste adicionado em 3.5.8 que não conseguimos remover.
- Resolver um problema quando a capa não estava rendendo corretamente o controle de volta ao seu loop principal quando grandes quantidades de saída contínua estava sendo registrado a partir do JVM. Introduzida na versão 3.4.0. Nas versões anteriores a 3.5.8, isso poderia ter causado a JVM para tempo limite e reiniciar-se. Essa questão específica foi resolvido, mas o processo Wrapper em 3.5.8 ainda teria sido responder quando isso estava acontecendo. O Wrapper agora sempre yeild de volta ao seu loop principal após 250 milissegundos de registro contínuo.
- Resolver um problema em que o WrapperManager poderia bloquear tentando saída de gravação de depuração se o aplicativo do usuário atual foi escrita muito grandes quantidades de saída para o console também. Em circunstâncias extremas, isto levou ao Wrapper pensando que a JVM foi congelado. Este foi apenas um problema se a saída de depuração foi habilitada.
- Reestruturado o script shell para todas as edições agora usar o mesmo script novamente.
O que é novo na versão 3.5.8:
- (Standard / Professional Edition)
- A partir da versão 3.5.5, que invalidou o uso de todos 00FF * hostids no Windows para evitar problemas com a mudança de hostids quando os usuários têm um adaptador de rede Juniper Rede Connect no seu sistema. Este acabou por ser demasiado restritiva como Convidado OSs rodando sob o Parallels também fazem uso dessa faixa hostid. O Wrapper é agora mais cuidado para apenas invalidar reais hostids Juniper Rede Connect.
- (Standard / Professional Edition)
- Melhorar a mensagem mostrada para o usuário quando o Wrapper não conseguiu localizar nenhum hostids para um sistema.
- Corrigido um problema com o script wrapper no Solaris, onde a opção -F não estava disponível para grep.
- informações sobre a versão do Windows Adicionado na saída do invólucro de depuração.
- Adicionado uma propriedade wrapper.log.warning.threshold o que torna o Wrapper mostrar um aviso sempre que detectar que o Wrapper levou muito tempo para gravar uma mensagem de log. Este foi adicionado para testar um problema relatado causada por lento IO em sistemas muito carregado.
- Resolver um problema em que um filtro que solicitou a JVM para reiniciar seria ignorado se a JVM saiu por conta própria imediatamente. O Wrapper é agora mais consistente para que as solicitações de reinicialização de dentro da JVM ou filtros sempre terão prioridade sobre os pedidos de saída. Solicitações de desligamento externas, ou aqueles de outras ações ainda irão se comportar como fizeram no passado e continuam a desligar o Wrapper. O Wrapper também registra mensagens na saída de depuração se um pedido de reinício notável está sendo preservada ou ignorados.
- Corrigido um problema no arquivo batch AppCommand.bat que poderia ocorrer em algumas plataformas Windows com certas codificações de sistema multi-byte. O roteiro foi reescrito e peças questionáveis foram simplificados. A funcionalidade do script foi preservado.
- Adicionado a WRAPPER_CONF_DIR variável de ambiente, que pode ser usado para as propriedades de configuração. (Recurso de pedido de 3160644)
- Feito a saída do script com o código de saída direito recebidas ao executar o script como um usuário diferente, especificado no RUN_AS_USER. (Bug Report 3.185.281)
- Corrigir uma violação de acesso que pode acontecer quando o certificado de assinatura de código não tenha sido verificada.
- registrar um erro se a tomada de backend ser encerrado forçadamente externamente. Ela havia sido registrado se a um nível de log de depuração. A mensagem é & quot; Uma conexão existente forçosamente foi fechada pelo host remoto. (0x2746) & quot ;. Porque a mensagem só foi registrado se a saída de depuração foi ativado, o JVM seria reiniciado sem nenhuma explicação clara sobre o que aconteceu. A fonte do encerramento soquete está sob investigação.
- (Professional Edition)
- Adicionado a fireUserEvent chamada Java para a API WrapperManager. Isso permite ao fogo mails evento do usuário, ações sem o gatilho filtro. Por favor, também encontrar mais detalhes sobre o modelo de segurança para esta chamada na página de segurança.
- Corrigir um aviso em versões para Mac se o comando configurado java não era um binário universal. A verificação foi adicionado no 3.4.0 para se certificar de que o wrapper.java.command apontado diretamente para um executável para evitar um comportamento inesperado ao executar um script. A mensagem é apenas um aviso e o Wrapper continua independentemente. Ppc Padrão, ppc_64, x86_64, i386, bem como os binários universais agora vai tudo funcionar corretamente sem um aviso.
- O valor padrão do wrapper. *. Propriedades umask está usando o umask atual processo tem. Antes o valor padrão sempre foi 0022.
- Adicionar uma nova propriedade wrapper.backend.type que é usado para controlar se o Wrapper comunica com o JVM usando o tradicional & quot; SOCKET & quot; ou nova experimental & quot; Pipe & quot ;. Este foi adicionado como uma solução para um problema raro onde algumas máquinas Windows estão fechando o soquete em um nível de sistema operacional. Isso só foi jamais visto em Windows 2003, mas poderia existir em outras versões do Windows também.
- Adicionar uma nova propriedade wrapper.use_javaio_thread experimental que faz com que o Wrapper para lidar com toda a saída do console java em um segmento dedicado.
- Adicionar um novo método WrapperManager.isNativeLibraryOk () que permite que o código do usuário facilmente testar se ou não a biblioteca nativa foi carregado e inicializado na inicialização.
- Adicionar um novo comando PAUSE_THREAD à propriedade wrapper.commandfile que torna possível testar como o Wrapper se comporta quando várias threads bloquear ou congelar. Este foi usado para simular e reproduzir questões em servidores vinculados fortemente IO.
- Melhorar a forma como a equipa da Java do Wrapper se comporta quando o Wrapper falhar o ping do JVM por um período prolongado de tempo. A JVM usada para sair se deixar a sincronizar-se com a JVM. Isso estava causando problemas em sistemas que eram fortemente IO limite porque o Wrapper poderia bloquear por um tempo ao tentar gravar o arquivo de log eo JVM foi sair. A JVM agora nunca sair sob tais circunstâncias. A JVM nunca vai se tornar órfão porque ele ainda vai sair quase que imediatamente se a tomada de backend ou tubo com o Wrapper está sempre fechada.
- Preterir o método WrapperManager.appearOrphan () que é usada para simular um modo de falha, que já não é possível com o envoltório.
- Mudou a forma como o Wrapper está a lidar com erros de certificado sobre o certificado de assinatura de código / timestamping. O Wrapper, agora apenas em si desligamento se a assinatura do binário não foi verificada com êxito porque a assinatura binária ou foi mal formada, mas não se houver problema com o contador-signatário foi encontrado. Começando com 3.5.7, os binários do Windows Wrapper são assinados. Alguns usuários com trancados sistemas Windows 2008 teve problemas com o Wrapper recusando-se a começar porque o certificado Comodo havia sido desativado no seu sistema.
- Adicionar uma nova propriedade wrapper.java.detach_started o que torna possível a utilização do Wrapper como uma ferramenta simples para lançar aplicativos Java. Quando ativado, o Wrapper termina imediatamente eo JVM é deixado para executar por conta própria.
- Ao executar o Wrapper como uma conta de usuário especificada, através da propriedade wrapper.ntservice.account, o Wrapper irá adicionar permissão para a conta para fazer logon como serviço automaticamente após a instalação. (Recurso pedido # 3286491)
O que é novo na versão 3.5.6:
- Resolver um problema em plataformas UNIX onde o arquivo de log caminho estava sendo calculado incorretamente se um caminho absoluto foi especificado para wrapper.logfile, eo arquivo não exista. Uma mensagem de aviso estava sendo exibido, mas o Wrapper iria continuar usando o arquivo de log padrão. Houve um problema na mensagem exibida o que causou um acidente em algumas plataformas incluem Mac OSX. Introduzida na versão 3.5.5.
- Resolver um problema em plataformas Windows, onde o Wrapper deixaria de funcionar se não pudesse acessar o diretório do wrapper.logfile configurado. Introduzida na versão 3.5.5. Bug # 3087424.
- Melhorar a forma como os avisos são registrados quando há problemas de escrita para o wrapper.logfile configurado de modo que a mensagem agora será registrado no arquivo de log que o Wrapper acaba usando no caso de ser bem sucedido na queda de volta a um log padrão arquivo.
- Resolver um problema em plataformas Windows, onde wrapper.java.additional. propriedades que foram especificados na linha de comando, e contidos espaços, não estavam sendo requoted corretamente ao construir-se a linha de comando Java. Introduzida na versão 3.3.6.
- Resolver um problema em que a mensagem de aviso registado valores inválidos do wrapper.java.additional. propriedade, continha texto corrompido. Introduzida na versão 3.3.6.
- Resolver um problema em plataformas UNIX, onde um valor inválido para o wrapper.java.additional. propriedade foi corretamente que está sendo relatado e, em seguida, pulou, mas a linha de comando resultante de lançar a JVM tinha um valor em branco que estava causando a JVM para deixar de lançar. Um valor inválido é qualquer valor que não comece com um & quot; - & quot; personagem.
- Adicionar uma nova variável de ambiente WRAPPER_INIT_DIR que pode ser usado para fazer referência ao diretório de trabalho a partir do qual o Wrapper foi lançado. Isso é necessário para certas aplicações, porque o Wrapper sempre muda seu diretório de trabalho para o local do binário Wrapper.
- Modifique o script shell UNIX para que ele não altera o atual diretório de trabalho para o local do script. Isto já não é necessária porque o Wrapper foi mudando o diretório de trabalho para sua própria localização desde a versão 3.2.0.
- Adicionar uma nova propriedade wrapper.request_thread_dump_on_failed_jvm_exit.delay para controlar quanto tempo o Wrapper vai esperar depois de fazer um despejo de thread antes de matar o processo de Java. Este atraso sempre foi codificado para 5 segundos.
- Limpe o texto de várias mensagens de advertência sobre os valores de configuração inválidos para torná-los mais consistente.
- (Professional Edition)
- Adicionar uma nova propriedade wrapper.jvm_kill.delay que torna possível controlar a quantidade de tempo para permitir que entre o evento jvm_kill ser demitido eo JVM, na verdade, ser morto.
Requisitos :
- A Oracle Java Standard Edition Runtime Environment
Comentários não encontrado