<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jboss Archives - Software Evolutivo</title>
	<atom:link href="https://softwareevolutivo.com.ec/tag/jboss/feed/" rel="self" type="application/rss+xml" />
	<link>https://softwareevolutivo.com.ec/tag/jboss/</link>
	<description>Consultora de Software Empresarial</description>
	<lastBuildDate>Thu, 22 Feb 2024 16:15:16 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://softwareevolutivo.com.ec/wp-content/uploads/2024/03/cropped-Perfil-Redes-Iso-32x32.png</url>
	<title>jboss Archives - Software Evolutivo</title>
	<link>https://softwareevolutivo.com.ec/tag/jboss/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>JBoss EAP: Configuración de la memoria</title>
		<link>https://softwareevolutivo.com.ec/jboss-eap-configuracion-de-la-memoria/</link>
					<comments>https://softwareevolutivo.com.ec/jboss-eap-configuracion-de-la-memoria/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Aguilar]]></dc:creator>
		<pubDate>Thu, 13 Oct 2022 20:41:50 +0000</pubDate>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jvm]]></category>
		<category><![CDATA[memoria]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=6509</guid>

					<description><![CDATA[<p>Una de las tareas de afinamiento más comunes luego de comenzar a operar un servidor de aplicaciones Java suele ser el ajuste de la memoria que utiliza el Java Virtual Machine (JVM). Por defecto, cierta cantidad de memoria es asignada al momento de iniciar el JVM, esta memoria es utilizada para alojar los objetos creados por las aplicaciones y para mantener otra información creada durante la ejecución de las mismas. </p>
<p>The post <a href="https://softwareevolutivo.com.ec/jboss-eap-configuracion-de-la-memoria/">JBoss EAP: Configuración de la memoria</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6509" class="elementor elementor-6509">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-8f2d4b6 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8f2d4b6" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a9a3a8b" data-id="a9a3a8b" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5aa45fb elementor-widget elementor-widget-text-editor" data-id="5aa45fb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><br></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="background-color: transparent; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">Una de las tareas de afinamiento más comunes luego de comenzar a operar un servidor de aplicaciones Java suele ser el ajuste de la memoria que utiliza el </span><a href="https://en.wikipedia.org/wiki/Java_virtual_machine" target="_blank">Java Virtual Machine</a><span style="background-color: transparent; font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;"> (JVM). Por defecto, cierta cantidad de memoria es asignada al momento de iniciar el JVM, esta memoria es utilizada para alojar los objetos creados por las aplicaciones y para mantener otra información creada durante la ejecución de las mismas. El valor inicial suele ser suficiente para iniciar a operar pero ciertas aplicaciones necesitarán una mayor cantidad de recursos ya sea de entrada o con el tiempo para cubrir una mayor demanda por parte de los usuarios.</span><br></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Si la cantidad de memoria asignada es insuficiente para la demanda inicial de las aplicaciones o para soportar la carga que reciban éstas, entonces eventualmente se podría experimentar lentitud o la cancelación de las peticiones, llegando a la temida excepción de Java: </span><span style="font-size: 11pt; font-family: 'Courier New'; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">java.lang.OutOfMemoryError</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, que se presenta cuando el JVM es incapaz de crear un objeto en memoria y en este punto será necesario reiniciar el servidor, con la correspondiente afectación a los usuarios conectado o nuevos que estén por llegar.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">En esta entrada se va a considerar los pasos a seguir para modificar la cantidad de memoria que es asignada al JVM del servidor de aplicaciones </span><a href="https://www.redhat.com/en/technologies/jboss-middleware/application-platform" target="_blank">JBoss Enterprise Application Platform (EAP)</a><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> en su versión 7 en modo Standalone y utilizando Java 11, aunque para Java 8 los pasos son similares.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">El punto de partida será que contamos con servidor JBoss EAP instalado y aplicada su configuración básica. Para llegar a este punto se puede tomar como referencia la entrega inicial de esta serie de artículos: </span><a href="https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/" target="_blank" style="background-color: rgb(255, 255, 255);">JBoss EAP: Instalación y configuración básica</a></p>
<h1 dir="ltr" style="line-height: 1.38; margin-top: 20pt; margin-bottom: 6pt;"><span style="font-size: 20pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Algunos conceptos básicos</span></h1>
<h2 dir="ltr" style="line-height: 1.38; margin-top: 18pt; margin-bottom: 6pt;"><span style="font-size: 16pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Tipos de memoria</span></h2>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">En Java 11 existen dos tipos principales de memoria del JVM:</span></p>
<h3 dir="ltr" style="line-height: 1.38; margin-top: 16pt; margin-bottom: 4pt;"><span style="font-size: 13.999999999999998pt; font-family: Arial; color: #434343; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Heap</span></h3>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Corresponde al espacio donde se alojarán los objetos y arreglos que son utilizados por las aplicaciones. El tamaño del Heap varía mientras se ejecutan las aplicaciones.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Existen dos parámetros que podemos utilizar para modificar el espacio utilizado por el Heap, éstos son:</span></p>
<p dir="ltr" style="background-color: transparent; color: #000000; font-family: Arial; font-size: 11pt; white-space: pre; line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;" role="presentation"><span style="font-size: 11pt; font-family: Consolas, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">-Xms</span><span style="font-size: 11pt; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">: Valor inicial</span></p>
<ul>
<li><span style="font-size: 11pt; font-family: Consolas, sans-serif; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">-Xmx</span><span style="font-size: 11pt; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">: Valor máximo que podría tomar</span></li>
<li>&nbsp;</li>
<li><span style="font-size: 13.999999999999998pt; font-family: Arial; color: #434343; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Non-heap</span></li>
</ul>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">El espacio más relevante dentro de lo que no sea Heap se lo conoce como </span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Metaspace</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> y es donde se almacena la metadata, estructura de las clases, constantes, valores de los String, entre otros.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Desde la versión 8 de Java encontramos los siguientes parámetros para lo que se conoce como Metaspace:</span></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="background-color: transparent; color: #000000; font-size: 11pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-family: Consolas, sans-serif; vertical-align: baseline; white-space: pre-wrap;">&nbsp;</span></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="background-color: transparent; color: #000000; font-size: 11pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-family: Consolas, sans-serif; vertical-align: baseline; white-space: pre-wrap;">-XX:MetaspaceSize</span><span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 11pt; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">: Valor inicial para almacenar los elementos del Non-heap</span></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="background-color: transparent; color: #000000; font-size: 11pt; font-variant-numeric: normal; font-variant-east-asian: normal; font-family: Consolas, sans-serif; vertical-align: baseline; white-space: pre-wrap;">-XX:MaxMetaspaceSize</span><span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 11pt; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">: Valor máximo que podría tomar el espacio de Non-heap</span></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 11pt; font-variant-numeric: normal; font-variant-east-asian: normal; vertical-align: baseline; white-space: pre-wrap;">&nbsp;</span></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Nota: Antes de Java 8, se lo conoce como Permanent Gen y los parámetros eran </span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-XX:PermSize</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> y </span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-XX:MaxPermSize</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, equivalentes a los antes mencionados.</span></p>
<h2 dir="ltr" style="line-height: 1.38; margin-top: 18pt; margin-bottom: 6pt;"><span style="font-size: 16pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Gestión de la memoria</span></h2>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Es bien conocido que como desarrolladores no tenemos que liberar de manera explícita la memoria que ya no estemos utilizando, a diferencia de otros lenguajes de programación como C++. Y ésto es debido a que Java dispone del </span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Garbage Collector</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, un componente del JVM que es el encargado de monitorear y liberar el espacio de memoria que ya no está en uso.</span></p>
<h1 dir="ltr" style="line-height: 1.38; margin-top: 20pt; margin-bottom: 6pt;"><span style="font-size: 20pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Procedimiento de ajuste de la memoria</span></h1>
<h2 dir="ltr" style="line-height: 1.38; margin-top: 18pt; margin-bottom: 6pt;"><span style="font-size: 16pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Heap</span></h2>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Cuando encontremos la excepción </span><span style="font-size: 11pt; font-family: 'Courier New'; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">java.lang.OutOfMemoryError </span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">en el archivo de log&nbsp; (</span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$EAP_HOME/standalone/server.log</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">)&nbsp; de JBoss EAP podremos tener la certeza de que se va a requerir un incremento en la memoria Heap.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Para el modo Standalone de JBoss EAP simplemente se deberá cambiar el archivo </span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">standalone.conf</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, el cuál está ubicado en el directorio </span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">$EAP_HOME/bin/</span></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-96eb4d2 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="96eb4d2" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3a4eda2" data-id="3a4eda2" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-d831517 elementor-widget elementor-widget-image" data-id="d831517" data-element_type="widget" data-e-type="widget" data-widget_type="image.default">
				<div class="elementor-widget-container">
															<img fetchpriority="high" decoding="async" width="1024" height="161" src="https://softwareevolutivo.com.ec/wp-content/uploads/2022/10/image1-1024x161.png" class="attachment-large size-large wp-image-6522" alt="Procedimiento de ajuste de la memoria" srcset="https://softwareevolutivo.com.ec/wp-content/uploads/2022/10/image1-1024x161.png 1024w, https://softwareevolutivo.com.ec/wp-content/uploads/2022/10/image1-300x47.png 300w, https://softwareevolutivo.com.ec/wp-content/uploads/2022/10/image1-768x120.png 768w, https://softwareevolutivo.com.ec/wp-content/uploads/2022/10/image1.png 1486w" sizes="(max-width: 1024px) 100vw, 1024px" />															</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-94014ae elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="94014ae" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a4e2979" data-id="a4e2979" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7884b6c elementor-widget elementor-widget-text-editor" data-id="7884b6c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">&nbsp;</span></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Según el archivo del ejemplo, se puede ver que en línea 53 están los valores correspondientes para </span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Xms</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> y </span><span style="font-size: 11pt; font-family: Consolas,sans-serif; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">-Xmx</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">, en este caso ambos establecidos en 1303 MB.</span></p>
<p><b id="docs-internal-guid-d95917a6-7fff-6d15-0da0-8ec1b5858f31" style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">NOTA: Para ambientes productivos se recomienda establecer -Xms y -Xmx con el mismo valor, así no se tiene que gestionar el incremento hasta el valor máximo sino que ya está establecido de antemano.</span></p>
<h2 dir="ltr" style="line-height: 1.38; margin-top: 18pt; margin-bottom: 6pt;"><span style="font-size: 16pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Metaspace</span></h2>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Usualmente no existe la necesidad de especificar un tamaño máximo para Metaspace a menos que se esté presentando una pérdida de memoria (memory leak), que resulta de la falta de liberación de la misma una vez que ya no se la necesita, afectando al rendimiento del servidor.</span></p>
<h1 dir="ltr" style="line-height: 1.38; margin-top: 20pt; margin-bottom: 6pt;"><span style="font-size: 16pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Conclusiones</span></h1>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Dentro de los ajustes que podemos hacer a un servidor de aplicaciones, como JBoss EAP, el espacio </span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Heap</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> es el principal ya que es el más dependiente de la dinámica de nuestras aplicaciones y de la exigencia que reciba por parte de sus clientes.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">La modificación del tamaño del espacio </span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Heap</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> es una tarea sencilla pero requiere el reinicio del servidor de aplicaciones, y como pudimos evidenciar son instrucciones que recibe el JVM al momento de iniciar el mismo. Estos parámetros son los mismo que aplican para cualquier servidor de aplicaciones que se ejecute sobre la máquina virtual de Java (JVM).</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Otras modificaciones, como el cambio del </span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Metaspace</span><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"> no son tan habituales, sin embargo podría ser necesarias cuando las aplicaciones mantienen un número extenso de clases o gestionan muchos valores del tipo String.</span></p>
<p><b style="font-weight: normal;">&nbsp;</b></p>
<p dir="ltr" style="line-height: 1.38; margin-top: 0pt; margin-bottom: 0pt;"><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Te hacemos una cordial&nbsp; invitación ya que en próximas entradas del blog habrá más contenido sobre esta </span><a style="text-decoration: none;" href="https://softwareevolutivo.com.ec/tag/jboss/"><span style="font-size: 11pt; font-family: Arial; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: underline; -webkit-text-decoration-skip: none; text-decoration-skip-ink: none; vertical-align: baseline; white-space: pre-wrap;">temática</span></a><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">. Hasta pronto.</span></p>
<p></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/jboss-eap-configuracion-de-la-memoria/">JBoss EAP: Configuración de la memoria</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/jboss-eap-configuracion-de-la-memoria/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>JBoss EAP: Instalación y configuración básica</title>
		<link>https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/</link>
					<comments>https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Aguilar]]></dc:creator>
		<pubDate>Thu, 12 May 2022 00:59:03 +0000</pubDate>
				<category><![CDATA[Aplicaciones Web]]></category>
		<category><![CDATA[Infrarestructura de Software]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[redhat]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=1568</guid>

					<description><![CDATA[<p>JBoss EAP es una plataforma de código abierto que ofrece seguridad, escalabilidad y rendimiento a nivel empresarial para aplicaciones Java. Incluyen todo lo que se necesita para crear, ejecutar, implementar y administrar aplicaciones Java empresariales en cualquier entorno.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/">JBoss EAP: Instalación y configuración básica</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="1568" class="elementor elementor-1568">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-60d3ec58 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="60d3ec58" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-49efc247" data-id="49efc247" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5a58dcf5 elementor-widget elementor-widget-text-editor" data-id="5a58dcf5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>En esta primera entrega, de la serie de artículos relacionados a&nbsp;<a href="https://en.wikipedia.org/wiki/JBoss_Enterprise_Application_Platform" target="_blank">JBoss Enterprise Application Platform</a>&nbsp;(EAP), vamos a considerar la instalación y configuración inicial del producto, de tal manera que podamos contar con los servicios suficientes para un despliegue en un ambiente de pruebas o que sea el primer paso para tener una instancia candidata a producción.</p>
<p>JBoss EAP es una plataforma de código abierto que ofrece seguridad, escalabilidad y rendimiento a nivel empresarial para aplicaciones Java. Incluyen todo lo que se necesita para crear, ejecutar, implementar y administrar aplicaciones Java empresariales en cualquier entorno.</p>
<p>Si bien JBoss EAP está disponible como imagen de contenedor o como un operador de Kubernetes u Openshift, en este caso vamos a utilizar los binarios tradicionales para hacer una instalación desde cero, lo que nos permitirá tener un mayor entendimiento de los requisitos para su operación.</p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-0539c34 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="0539c34" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-246d713" data-id="246d713" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-725233d elementor-widget elementor-widget-heading" data-id="725233d" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Requisitos</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-037ac8c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="037ac8c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-23c37ca" data-id="23c37ca" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7156934 elementor-widget elementor-widget-text-editor" data-id="7156934" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-size: 11pt; font-family: Arial; color: #000000; background-color: transparent; font-weight: 400; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;">Antes de iniciar, se espera que podamos contar con lo siguiente:</span></p>
<ol>
<li dir="ltr" style="line-height: 1.38;"><span style="background-color: transparent; color: #000000; font-family: Arial; font-size: 11pt; font-style: normal; font-weight: 400; white-space: pre-wrap;">Servidor Linux: Los comandos que se presentan son compatibles con CentOS 8 o Red Hat Enterprise Linux 8</span></li>
<li dir="ltr" style="line-height: 1.38;"><span style="font-family: Arial; font-style: normal; font-weight: 400; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; white-space: pre-wrap;">Disponer del utilitario </span><span style="font-family: Arial; font-style: normal; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; font-weight: bold; white-space: pre-wrap;">unzip</span><span style="font-family: Arial; font-style: normal; font-weight: 400; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; white-space: pre-wrap;"> para descomprimir el binario de JBoss EAP</span></li>
<li dir="ltr" style="line-height: 1.38;"><span style="font-family: Arial; font-style: normal; font-weight: 400; background-color: transparent; font-variant-numeric: normal; font-variant-east-asian: normal; font-size: 11pt; white-space: pre-wrap;">Tener instalado y configurado Java 1.8 u 11. El detalle de las configuraciones soportadas se pueden encontrar en la siguiente enlace: </span><a style="background-color: transparent; font-family: Arial; font-size: 11pt; white-space: pre;" href="https://access.redhat.com/articles/2026253#EAP_74" target="_blank" rel="noopener"><span style="font-size: 11pt; font-family: Arial; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; text-decoration-line: underline; text-decoration-skip-ink: none; white-space: pre-wrap;">https://access.redhat.com/articles/2026253#EAP_74</span></a></li>
<li dir="ltr" style="line-height: 1.38;" role="presentation"><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: 400; white-space: pre-wrap;">Archivo empaquetado de </span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: bold; white-space: pre-wrap;">JBoss EAP 7.4</span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: 400; white-space: pre-wrap;">: Se puede descargar el </span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: bold; white-space: pre-wrap;">Zip File</span><span style="background-color: transparent; font-family: Arial; font-size: 11pt; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; font-weight: 400; white-space: pre-wrap;"> desde la siguiente dirección: </span><a style="font-family: Arial; font-style: normal; font-weight: 400;" href="https://developers.redhat.com/products/eap/download" target="_blank" rel="noopener"><span style="font-size: 11pt; font-family: Arial; color: #1155cc; background-color: transparent; font-weight: 400; font-style: normal; font-variant-numeric: normal; font-variant-east-asian: normal; text-decoration-line: underline; text-decoration-skip-ink: none; white-space: pre-wrap;">https://developers.redhat.com/products/eap/download</span></a></li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ca27f22 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ca27f22" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1b2b955" data-id="1b2b955" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-68fc5f0 elementor-widget elementor-widget-heading" data-id="68fc5f0" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Configuración por defecto</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-72e0b2b elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="72e0b2b" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6a8aa8f" data-id="6a8aa8f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-5f6e3eb elementor-widget elementor-widget-text-editor" data-id="5f6e3eb" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>JBoss EAP mantiene la siguiente configuración inicial:</p>
<ul>
<li>No existen usuarios de administración de JBoss EAP, es necesario crear al menos uno para administrar el servicio remotamente. Este usuario será creado más adelante.</li>
<li>Solamente se escucha en la interfaz 127.0.0.1 (localhost), es decir que solamente están disponibles los servicios desde el mismo servidor.</li>
<li>Los puertos de los servicios principales son:
<ul>
<li>Aplicaciones HTTP: 8080</li>
<li>Aplicaciones HTTPS: 8443</li>
<li>Administración (Web y por línea de comandos): 9990</li>
</ul>
</li>
</ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-ab89ddc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="ab89ddc" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d0259f5" data-id="d0259f5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-acf3462 elementor-widget elementor-widget-heading" data-id="acf3462" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Alcance de la instalación y configuración</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-fbcb74c elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="fbcb74c" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-af3b35f" data-id="af3b35f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-c2fe63c elementor-widget elementor-widget-text-editor" data-id="c2fe63c" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>Esta guía cubre los siguientes puntos:</p>
<ul>
<li>Instalación de los binarios</li>
<li>Creación del usuario administrador de JBoss EAP</li>
<li>Apertura de las interfaces de red para el acceso remoto</li>
</ul>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-bbac45e elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="bbac45e" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a93fd7d" data-id="a93fd7d" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-ef99fe5 elementor-widget elementor-widget-heading" data-id="ef99fe5" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Procedimiento de instalación y configuración</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-6dc3adc elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6dc3adc" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1591c72" data-id="1591c72" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-fe1e3cd elementor-widget elementor-widget-heading" data-id="fe1e3cd" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Instalación de los binarios</h3>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-5e59745 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="5e59745" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1de1057" data-id="1de1057" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-93b8d0e elementor-widget elementor-widget-text-editor" data-id="93b8d0e" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ol>
<li>
<p>Se va a necesitar un usuario de sistema operativo (En este caso eap), diferente al usuario root, para levantar los servicios. Como el usuario root ejecutamos este y los siguientes comandos:</p>
<p><code># useradd eap</code></p>
<p>NOTA: Este usuario es diferente al usuario administrador de JBoss EAP (eapadmin) que se creará en el punto 4 de esta sección.</p>
</li>
<li>
<p>Creación del directorio Home de JBoss EAP, descompresión del archivo empaquetado y asignación de permisos al usuario eap:</p>
<p><code>
# mkdir /opt/jboss/<br />
# cd /opt/jboss/<br />
# unzip /tmp/jboss-eap-7.4.0.zip<br />
# chown -R eap:eap /opt/jboss/
</code></p>
</li>
<li>
<p>Configuración de variables de ambiente para que el usuario eap disponga de los ejecutables de JBoss EAP en el PATH de su sesión:</p>
<p><code>
# echo 'export EAP_HOME=/opt/jboss/jboss-eap-7.4' &gt;&gt; ~eap/.bash_profile<br />
# echo 'export PATH=$PATH:$EAP_HOME/bin' &gt;&gt; ~eap/.bash_profile
</code></p>
</li>
<li>
<p>Crear el usuario administrador de JBoss EAP (eapadmin) con su respectiva contraseña. Hacemos el cambio al usuario eap del sistema operativo para luego ejecutar la creación del usuario:</p>
<p><code>
# su - eap<br />
$ add-user.sh -u 'eapadmin' -p '********'
</code></p>
</li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-b4019b5 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="b4019b5" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-351803f" data-id="351803f" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-abd197e elementor-widget elementor-widget-heading" data-id="abd197e" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Inicio del servicio y validación de la configuración de red</h3>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-1d20718 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="1d20718" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-1bcaed5" data-id="1bcaed5" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-51cb9df elementor-widget elementor-widget-text-editor" data-id="51cb9df" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ol>
<li>
<p>Utilizando la misma sesión del usuario eap, ejecutamos el script de inicio para subir el servicio en modo Standalone:</p>
<p><code>
$ standalone.sh
</code></p>
<p>NOTA: La terminal quedará ocupada, la dejaremos abierta para no terminar el proceso.</p>
</li>
<li>
<p>Abrimos una nueva sesión con el usuario eap para confirmar los puertos que fueron abiertos por el servicio:</p>
<p><code>
$ ss -ltn | grep -e 8080 -e 8443 -e 9990
</code></p>
<p>Como lo muestra el comando ss, por defecto JBoss EAP escucha solamente en 127.0.0.1 (localhost).</p>
<p>
<img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh3.googleusercontent.com/JxRaUYd9vZQlI1L8gQjcm9zjbUpbio2vnG2vvZKeupxm3DXT61fJb2bYgp3hpud92GbZkQD3Tt3JowMxyPgQFKwSt5vAUqE6vJR5BiMoi7JiZ_viknN2e1RKLbgQFt78OXHwKAXIa-2ZnxITsQ" /></p>
</li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-99529f4 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="99529f4" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6626462" data-id="6626462" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-84a0c76 elementor-widget elementor-widget-heading" data-id="84a0c76" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h3 class="elementor-heading-title elementor-size-default">Actualización de la dirección enlazada a las interfaces de red</h3>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-4f311ec elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4f311ec" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-985568a" data-id="985568a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-cea0b72 elementor-widget elementor-widget-text-editor" data-id="cea0b72" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<ol>
<li>
<p>Mediante la administración por línea de comandos (<a href="https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.2/html-single/management_cli_guide/index" target="_blank" rel="noopener">JBoss CLI</a>) vamos a consultar la dirección enlazada a la interfaz pública (public: donde estarán disponibles las aplicaciones, puerto 8080 y 8443) para luego cambiarla por el nombre del servidor (server.example.com en este caso) o por su dirección IP:</p>
<p><code><br />$ jboss-cli.sh --connect<br />[standalone@localhost:9990 /] /interface=public:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh3.googleusercontent.com/amSVm3J6_JGN8ibRMJ-Tk5OdF6H__4SJX6pZNCxWFEGC5RaRdffB4ePoYBOkytTd3YPlbh33fA0XfRw9oB1DUWaVzsPCm4E3nC2WM9V_Fy-3wJV5giHamFwEX8Zxm9pz4h0BgDPdoe3thFJjdQ" /></p>
<p><code><br />[standalone@localhost:9990 /] /interface=public:write-attribute(name=inet-address,value="${jboss.bind.address:server.example.com}")<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh4.googleusercontent.com/utqXny4O2mFOvxJSTnsbvot9A_eVP81LusdJ3UALLkGJEPC0SExr1mWL0mx2X0bWcu5QqazpJ_7oUGty_8k2BwSnOeV1mULvAu7l6yPUWU1sg9AFvInsSx5KZtfHKhqo5QrliD9Kkpd59ND0rw" /></p>
</li>
<li>
<p>Realizamos algo similar pero con la interfaz de administración (management: servicio de administración, puerto 9990):</p>
<p><code><br />[standalone@localhost:9990 /] /interface=management:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh4.googleusercontent.com/9gnxqQnzm_1gJNzE9czSwv4hrwcS6N7faXypirpfHljYK1ZwoethZq46RYiha0ASMeDpVMBWLEZZ7cxDKAukS3_gwjnxnkRarx9e4AeVqN_LW0lf2OqkDBFUXFKlXtf0up1ge7Of4bAbjI9o3w" /></p>
<p><code><br />[standalone@localhost:9990 /] /interface=management:write-attribute(name=inet-address,value="${jboss.bind.address.management:server.example.com}")<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh5.googleusercontent.com/hs9zPonezmp9uKmMG1CwyKr5NI91U9-bFWM76Wpi9XvJ2QxRKKyWJcaktSK5DFEKAjmorxpwpcCODsIu5CZXASxlSnoO6kApWXP63Mp8gsth1Honly--tgs9wIsFzFKIPvkiWctL4-p6C-7O_g" /></p>
</li>
<li>
<p>Procedemos a recargar la configuración del servidor ya que los cambios anteriores requieren de un reinicio del servicio de JBoss EAP. Luego de esto, la sesión de JBoss CLI terminará debido a que ya no es válida por el cambio de la interfaz de administración:</p>
<p><code><br />[standalone@localhost:9990 /] reload<br />[disconnected /] exit<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh6.googleusercontent.com/0OvdRZV7CEDFfiVrzRgi41C48a378TPb1XUzU67U70EDjFZVeZkRJe_RwZnmUGeJ9js3awWj7wgxYCpQd5yqsUmZ00VKk1mmjZguSGslQjYoAZdG_ADxyHVk6Szf_p3KlYbD3j1a1AWOAijUCA" width="401" /></p>
</li>
<li>
<p>Verificamos el cambio en la configuración de red utilizando nuevamente JBoss CLI, la conexión ahora debe indicar el nombre del controller de JBoss EAP (servidor y puerto) donde está el servicio de administración:</p>
<p><code><br />$ jboss-cli.sh --connect --controller=server.example.com:9990<br /><br />[standalone@server.example.com:9990 /] /interface=public:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh3.googleusercontent.com/ybl4awCSj_6VJpvRMaecK8IdtPDeeXVpgygAFXsF9eUKJRXC0We8s4AnrnbtNLBtS0afB64BX2iiSDsRzYKmwWfmDldaTjbKLI2wKSPmqFKgam5JdHw-rDwi-V_3KcWqAU2IH6zlr8wRbhhE8A" /></p>
<p><code><br />[standalone@server.example.com:9990 /] /interface=management:read-attribute(name=inet-address)<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh5.googleusercontent.com/Ge6xAn6-LwCa4obg1IBFYE8MRGu0YH0SBEx9ngWljR55OFbLdMRYyf-04R76L1NHsBInXFGVnh98vn7cxqcrZ6GE0HbEoEN52Q_AUvsrH9c7EEesjoJOO0MPuRimw6vdi4Rwky9ycsToopbr4g" /></p>
</li>
<li>
<p>Si el servidor Linux tiene levantado el servicio de Firewall será necesario abrir los puertos que utiliza JBoss, para el caso de CentOS 8 o Red Hat Enterprise Linux 8, como usuario root, se puede utilizar lo siguiente:</p>
<p><code><br />
# firewall-cmd --list-ports<br /># firewall-cmd --add-port 8080/tcp<br /># firewall-cmd --add-port 8443/tcp<br /># firewall-cmd --add-port 9990/tcp<br /># firewall-cmd --runtime-to-permanent<br /># firewall-cmd --list-ports<br /></code></p>
<p><img decoding="async" style="margin-left: 0px; margin-top: 0px;" src="https://lh4.googleusercontent.com/e3kd35FLMsASyjOHLTwVVKxOuoxpV4_mqkUjTKVABqGV-zycVYOZqFXPahJmBjt7yYtDf2H9PtMOOZC_jelJA0xgEMD1g_ayBXbs9xSOjuoPEKemCT241x_KFDMiVNDk-_348I6IecYYsdQ68Q" width="420" /></p>
</li>
<li>
<p>Finalmente probamos el acceso a los servicios desde un navegador Web:</p>
<ul>
<li>http://server.example.com:8080/</li>
<li>https://server.example.com:8443/</li>
<li>http://server.example.com:9990/</li>
</ul>
</li>
</ol>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-3cbf526 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="3cbf526" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-65b7bc8" data-id="65b7bc8" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-61895b3 elementor-widget elementor-widget-heading" data-id="61895b3" data-element_type="widget" data-e-type="widget" data-widget_type="heading.default">
				<div class="elementor-widget-container">
					<h2 class="elementor-heading-title elementor-size-default">Conclusiones</h2>				</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				<section class="elementor-section elementor-top-section elementor-element elementor-element-8198e8f elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="8198e8f" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d1c6ee6" data-id="d1c6ee6" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-69dc084 elementor-widget elementor-widget-text-editor" data-id="69dc084" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="font-weight: 400;">JBoss Enterprise Application Platform trae por defecto una configuración que es suficiente para un ambiente de desarrollo pero va a ser necesario aplicar ajustes como los que hemos visto en este artículo para poder hacer uso de sus servicios en escenarios más demandantes.</span></p>
<p><span style="font-weight: 400;">Les hacemos la invitación a estar atentos ya que en próximas entregas cubriremos otras áreas de la administración y configuración del producto. Hasta entonces.</span></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/">JBoss EAP: Instalación y configuración básica</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/jboss-eap-instalacion-y-configuracion-basica/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>[:es]Implementación de Liferay 6.2 sobre JBoss 6.4.0 &#8211; Como[:]</title>
		<link>https://softwareevolutivo.com.ec/liferay-jboss-docker/</link>
					<comments>https://softwareevolutivo.com.ec/liferay-jboss-docker/#respond</comments>
		
		<dc:creator><![CDATA[Fernando Paz]]></dc:creator>
		<pubDate>Mon, 12 Sep 2016 17:00:42 +0000</pubDate>
				<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[docker]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[liferay]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=170</guid>

					<description><![CDATA[<p>Liferay es un producto para gestionar portales empresariales de información, construido sobre Java y con licenciamiento en Software libre LGPL define a esta tecnología como uno de los actores más importante y con mayores implementaciones en el mercado. Animados por nuestros valores empresariales que considera al conocimiento como fin social, dejamos una experiencia acerca</p>
<p>The post <a href="https://softwareevolutivo.com.ec/liferay-jboss-docker/">[:es]Implementación de Liferay 6.2 sobre JBoss 6.4.0 &#8211; Como[:]</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="6004" class="elementor elementor-6004">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-13e504aa elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="13e504aa" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4eb4ad3a" data-id="4eb4ad3a" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-7ea8c7b5 elementor-widget elementor-widget-text-editor" data-id="7ea8c7b5" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p>[:es]<strong>&nbsp;</strong></p>
<figure id="attachment_171" aria-describedby="caption-attachment-171" style="width: 1058px" class="wp-caption alignnone"><img decoding="async" class="wp-image-171" src="https://softwareevolutivo.com.ec/wp-content/uploads/2016/09/docker_jboss_liferay-png.png" alt="Esquema Instalación Liferay sobre JBoss usando Docker" width="1058" height="417"><figcaption id="caption-attachment-171" class="wp-caption-text">Esquema Instalación Liferay sobre JBoss usando Docker.&nbsp; Copyleft www.softwareevolutivo.com.ec</figcaption></figure>
<p><a href="https://dev.liferay.com/" target="_blank" rel="noopener noreferrer">Liferay</a> es un producto para gestionar portales <a href="https://en.wikipedia.org/wiki/Enterprise_portal" target="_blank" rel="noopener noreferrer">empresariales de información</a>, construido sobre Java y con licenciamiento en Software libre <a href="http://www.gnu.org/licenses/lgpl-2.1.html" target="_blank" rel="noopener noreferrer">LGPL</a> define a esta tecnología como uno de los actores más importante y con mayores implementaciones en el mercado.</p>
<p>Animados por nuestros <a href="https://softwareevolutivo.com.ec/mission-vision-and-values/" target="_blank" rel="noopener noreferrer">valores empresariales</a> que considera al conocimiento como fin social, dejamos una experiencia acerca de este portal y su despliegue en infraestructuras de software modernas.</p>
<p>Antes de continuar con la implementación nos referimos a los productos que usamos como software base:</p>
<ul>
<li><a href="http://www.docker.com/what-docker" target="_blank" rel="noopener noreferrer">Docker</a> es una tecnología que implementa contenedores livianos que complementan o sustituyen a las estrategias de virtualización tradicionales. Dado el aprovechamiento masivo del hardware y su rápido despliegue y replicación, es muy utilizado en la tendencia actual de la industria especialmente en áreas como: desarrollo de software, implementación de estrategias de <a href="http://martinfowler.com/bliki/ContinuousDelivery.html" target="_blank" rel="noopener noreferrer">entrega continua</a> y provisión de ambientes de producción con alto crecimiento por demanda.</li>
<li><a href="http://developers.redhat.com/products/eap/overview/" target="_blank" rel="noopener noreferrer">JBoss EAP</a>, es la versión empresarial de Redhat de un servidor de aplicaciones JEE, con una alta ocupación del mercado y una comprobada comunidad que lo desarrolla y potencia.</li>
</ul>
<p>&nbsp;</p>
<p><strong>Instalación:</strong></p>
<p>El desarrollo de esta instalación de Liferay, está apoyada por documentación existente en proyectos complementarios a este objetivo. Los pasos de estos proyectos complementarios, que serán detallados a continuación, cubren las siguientes actividades:</p>
<ul>
<li>Definición y creación de un contenedor Docker que contenga una implementación activa del servidor de aplicaciones JBoss 6.4.0.</li>
<li>Definición y creación de un contenedor Docker, a partir del contenedor anterior, que contenga una instalación activa del software Liferay 6.2.</li>
<li>Configuración inicial de software Liferay 6.2.</li>
</ul>
<p>Docker JBoss 6.4.0:</p>
<p>El primer paso es crear el contenedor Docker que soporte al servidor de aplicaciones JBoss 6.4.0, para este fin se puede revisar otra referencia de cómo podemos realizar esta implementación en <a href="https://github.com/pazfernando/jboss-eap-6.4.0-docker" target="_blank" rel="noopener noreferrer">https://github.com/pazfernando/jboss-eap-6.4.0-docker</a>.</p>
<p>Es muy importante, en este punto, revisar el README.md de este proyecto debido a que previamente requieren descargar por su cuenta la distribución de JBoss (por cuestiones de licencia) y adicionalmente el contenedor se crea con el nombre “<strong>jboss-eap:6.4.0</strong>” que es con el que partiremos esta instalación de Liferay 6.2.</p>
<p>Docker Liferay 6.2:</p>
<p>La propuesta de esta implementación de Liferay se basa en el contenedor anterior. La siguiente actividad será crear el contenedor Docker mismo de Liferay a partir del proyecto <a href="https://github.com/pazfernando/liferay-6.2-jboss-eap-6.4.0-docker" target="_blank" rel="noopener noreferrer">https://github.com/pazfernando/liferay-6.2-jboss-eap-6.4.0-docker</a>. Este proyecto usa el nombre “<strong>jboss-eap:6.4.0</strong>” como base de su implementación, y apoyado en esta infraestructura instala el producto Liferay. Para la consecución de esta actividad se debe seguir las instrucciones del archivo README.md.</p>
<p>El nombre “<strong>jboss-eap:6.4.0</strong>” por su puesto puede cambiar pero requerirá que esté coordinado con el primer proyecto base.</p>
<p>Configuración Liferay 6.2:</p>
<p>Esperamos que en este punto tengan instalado Liferay en esta infraestructura correctamente; Liferay en adelante tiene un <a href="https://dev.liferay.com/discover/deployment/-/knowledge_base/6-2/using-liferays-setup-wizard" target="_blank" rel="noopener noreferrer">wizard</a> el cual lo guiará con los pasos de configuración y datos iniciales. Hasta este momento y como pueden haberlo advertido, no se ha mencionado la <strong>base de datos</strong>, puesto que la definición de la misma es parte del wizard inicial de configuración de Liferay. Nuestra implementación ha sido pensada para ejecutar el producto sobre el motor <strong>Oracle 11g</strong>, para lo cual se ha adjuntado y configurado el driver en las actividades previas anteriores.</p>
<p>&nbsp;</p>
<p><strong>Recomendaciones finales:</strong></p>
<p>Este proyecto por supuesto es una implementación de una solución para ambientes de desarrollo o testing y requerirá de varios cambios para pensar en una automatización en producción.</p>
<p>Si se requiere profundizar en las configuraciones del producto Liferay en la tecnología JBoss, se puede partir de la URL: <a href="https://dev.liferay.com/discover/deployment/-/knowledge_base/6-2/installing-liferay-on-jboss-7-1" target="_blank" rel="noopener noreferrer">https://dev.liferay.com/discover/deployment/-/knowledge_base/6-2/installing-liferay-on-jboss-7-1</a>, estas configuraciones se han automatizado en el contenedor Docker utilizado en este tutorial. Básicamente son los mismos pasos, pero existen especificaciones concretas debido a que JBoss 7.2 fue la última versión antes de que Redhat lo renombrara como JBoss EAP Alpha 6.2; y de ahí en adelante al ser la versión comercial tiene ciertas diferencias a las versión Wildfly que es la comunitaria.</p>
<p>Adicionalmente y como siempre si tiene dudas, comentarios, erratas o algo que decir 🙂 los animamos a comentar en este blog para todos tener un mejor conocimiento y entendimiento.[:]</p>
<p></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/liferay-jboss-docker/">[:es]Implementación de Liferay 6.2 sobre JBoss 6.4.0 &#8211; Como[:]</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/liferay-jboss-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
