[Tomcat] [Maven] Maven plugin para deploy no Tomcat 9

TOMCAT-SERVER

Normalmente para realizar o deploy de uma aplicação no Tomcat, temos que entrar em seu painel e realizar o upload manualmente do arquivo .war, esse processo é um pouco custoso e nem sempre temos acesso a esse painel em um ambiente de produção, para isso a própria Apache desenvolveu um plugin para automatizar o processo de deploy.

O plugin que vou apresentar agora é do Tomcat 7 porém consegui utiliza-lo normalmente com o Tomcat 9.

Configurando o Plugin

Segue a configuração do plugin tomcat7-maven-plugin:

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>TomcatServer</server>
        <path>/${project.artifactId}</path>
    </configuration>
</plugin>

A configuração do plugin é bem simples, porém cabe algumas resalvas a serem esclarecidas, note que temos as seguintes configurações para o plugin: Continue reading

[TomCat] [Spring] Como definir o ‘spring.profiles.active’ de uma aplicação Spring no Tomcat

spring-boot

Quando trabalhamos com aplicações desenvolvidas com o Framework Spring Boot é normal utilizarmos os ‘profiles‘ para definir o ambiente que estamos trabalhando, os profiles são muito utilizados para carregar os resources utilizados na aplicação, permitindo uma variedade de ambientes, como testes, desenvolvimento, produção, etc.

O Spring Boot permite que implementemos uma solução já com um servidor de aplicação embutido, mas também nos permite gerar um .war e subirmos em nosso próprio servidor de aplicação, quando temos um jar, para executarmos a aplicação com um profile especifico, basta inserirmos os argumentos na execução, exemplo:

java -Dspring.profiles.active=prod -jar MyApp.jar

Mas como fazemos isso em um servidor de aplicação? aonde normalmente só realizamos o deploy do .war?. Quando temos esse tipo de ambiente temos que configurar o nosso servidor de aplicação para que ele possua esses argumentos, assim, as devidas váriaveis estaram definidas na VM e a solução terá acesso a elas.

A solução é simples, no caso do Tomcat quem se responsabiliza em gerenciar sua execução é um arquivo chamado catalina.sh armazenado na pasta /bin, todas as configurações do servidor de aplicação devem ser configurados nesse arquivo. Para adicionarmos um VM’args no caso o `spring.profiles.active` vamos editar esse arquivo e adicionar na variável CATALINA_OPTS seu valor.

Segue a alteração que deve ser feita no catalina.sh: Continue reading

Java EE – Problemas com deploy de aplicações no Glassfish 5 (Web Service deployment into Glassfish error)

glassfish

Servlet [ParticipantPortTypePortImpl] and Servlet [CoordinatorPortTypePortImpl] have the same url pattern: [/WSAT10Service]. Related annotation information: annotation [@javax.jws.WebService(wsdlLocation=/wsdls/wsat10/wsat.wsdl, name=, portName=CoordinatorPortTypePort, endpointInterface=com.sun.xml.ws.tx.at.v10.types.CoordinatorPortType, serviceName=WSAT10Service, targetNamespace=http://schemas.xmlsoap.org/ws/2004/10/wsat)] on annotated element [class com.sun.xml.ws.tx.at.v10.endpoint.CoordinatorPortTypePortImpl] of type [TYPE]

Esse erro ocorre pois em suas dependências no projeto há algo em conflito com o Glassfish, normalmente bibliotecas do próprio glassfish, basta remove-las e utilizar somente bibliotecas referente ao WebService. Exemplo:

<dependencies>
<!--      
       Não utilizar essa dependência! 
        <dependency>
            <groupId>org.glassfish.metro</groupId>
            <artifactId>webservices-rt</artifactId>
            <version>2.3</version>
            <scope>compile</scope>
        </dependency>
-->
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-web-api</artifactId>
            <version>7.0</version>
            <scope>provided</scope>
        </dependency>
   
</dependencies>

Ubuntu/Linux – Instalando e configurando o Nginx com PHP (Installing Nginx With PHP5)

nginx

Nginx ( Pronuncia: Engine-X ) é open-source, servidor de alto desempenho HTTP e proxy reverso, bem como um servidor proxy de IMAP/POP3. Igor Sysoev iniciou o desenvolvimento do Nginx em 2002, com o primeiro lançamento público em 2004 o Nginx agora abriga cerca de 12,18% (22.2M) de domínios. Nginx é conhecido pelo seu alto desempenho, estabilidade, rico conjunto de recursos, configuração simples e baixo consumo de recursos.

Nginx é um servidores escritos para resolver o problema C10K . Ao contrário dos servidores tradicionais, Nginx não depende de tópicos para processar pedidos. Em vez disso, usa um event-driven arquitetura muito mais escalável (assíncrono). Esta arquitetura utiliza pequenas, mas mais importante, valores previsíveis de memória sob carga.  ( http://wiki.nginx.org/Main )

Em passos bem completos vamos iniciar a instalação e configuração desse excelente servidor WEB, vou tentar detalhar ao máximo ou pelo menos informar o que fazer sem erros, pois é um processo chato. Vamos lá: Continue reading

Apontando um domínio para o serviço Route 53 da Amazon

route53

Neste post vamos mostrar como configurar o Route 53 da Amazon Web Services (aws). Encontrei este vídeo que me serviu de tutorial, feito pelo Roberto Silva, um video muito bom e bem explicado.

Para quem quer adquirir um serviço de DNS, recomendo o Route 53, ele é bem simples de configurar, rápido e barato.

Para mais detalhes: http://aws.amazon.com/pt/route53/

Linux – Habilitando o modo rewrite, htaccess files, do Apache2

mod_rewrite_htaccess

 

Irei demostrar nesse post como habilitar o módulo rewrite (mod_rewrite) do apache2. Esse módulo é responsável para ativar o uso dos arquivos .htacces. Utilizei o Ubuntu Server para teste, porem acredito que funcione na maioria das distribuições.
O apache trabalha com a ativação de modulos e configuração em geral, com links simbolicos na pasta /etc/apache2/mods-enabled apontando para modulos disponíveis na pasta /etc/apache2/mods-available.
Para conseguirmos utilizar os arquivos .htaccess, devemos habilitar o modulo rewrite, criando um link simbólico do arquivo rewrite.load da pasta available para a pasta enabled.
sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load
Para completar e habilitar o uso dos arquivos .htaccess devemos liberar a opção AllowOverride da tag <Directory /var/www> no arquivo /etc/apache2/sites-available/default, deixando-o da seguinte maneira:

Continue reading

Problemas com horário no Glassfish como mudar o TimeZone (How do I change the TZ of Glassfish?)

Você teve problemas com sua aplicação depois do horário de verão? seu servidor está com a hora certa seu banco também porém sua aplicação continua a trazer o horário errado?

É muito provável que o problema esteja em seu Glassfish pois por padrão ele não vem configurado o Time Zone.

Para resolver esse problema é só setar uma propriedade no gerenciador veja como abaixo:
Continue reading