Tuesday, February 2, 2021

Address in Use ? Port Open ? linux

https://mkyong.com/linux/linux-which-application-is-using-port-8080/

lsof -i :8080
 netstat -nlp | grep 8080
ps -ef | grep 10165




1. lsof + ps command
1.1 Bring up the terminal, type lsof -i :8080
$ lsof -i :8080

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    10165 mkyong   52u  IPv6 191544      0t0  TCP *:http-alt (LISTEN)
Note
If multiple result, try lsof -i :8080 | grep LISTEN
1.2 PID 10165 is using port 8080, type ps -ef | grep 10165 to find out the application details.
$ ps -ef | grep 10165

mkyong   10165  4364  1 11:58 ?        00:00:20 /opt/jdk/jdk1.8.0_66/jre/bin/java
//...
-Djava.endorsed.dirs=/home/mkyong/software/apache-tomcat-8.0.30/endorsed
-classpath /home/mkyong/software/apache-tomcat-8.0.30/bin/bootstrap.jar:
/home/mkyong/software/apache-tomcat-8.0.30/bin/tomcat-juli.jar
-Dcatalina.base=/home/mkyong/.IntelliJIdea15/system/tomcat/Unnamed_hc_2
-Dcatalina.home=/home/mkyong/software/apache-tomcat-8.0.30
-Djava.io.tmpdir=/home/mkyong/software/apache-tomcat-8.0.30
/temp org.apache.catalina.startup.Bootstrap start
Answer : IntelliJ IDEA + Tomcat 8 is using the port 8080.
Trendsetters Feed
Vala Afshar
@ValaAfshar
2d
View image
Nearly all men can stand adversity, but if you want to test a man's character, give him power. —Abraham Lincoln https://t.co/HKkQ...
5h
View image


2. netstat + ps command

Just different command to do the same thing.Type netstat -nlp | grep 8080 to get the PID and ps it.
$ netstat -nlp | grep 8080

(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp6       0      0 :::8080                 :::*                    LISTEN      10165/java

$ ps -ef | grep 10165

mkyong   10165  4364  1 11:58 ?        00:00:20 /opt/jdk/jdk1.8.0_66/jre/bin/java
//...

Best Website which actually teaches Linux - Hands On - Learn Linux

https://linuxjourney.com/


https://www.linuxtrainingacademy.com/   Jason Cannon

User specific Profiles in Linux

 All UNIX users can override the system umask defaults in their /etc/profile file

~/.profile (Korn / Bourne shell) 
~/.cshrc file (C shells), 
~/.bash_profile (Bash shell) 
~/.login file (defines the user’s environment at login).


  • 4 Read
  • 2 Write
  • 1 Execute

Monday, February 1, 2021

Streams, Lamdas, Method References- Examples

https://www.baeldung.com/java-stream-filter-lambda
https://www.baeldung.com/java-maps-streams
https://www.baeldung.com/java-method-references

List<String> isbnCodes = books.entrySet().stream()
  .filter(e -> e.getValue().startsWith("Effective Java"))
  .map(Map.Entry::getKey)
  .collect(Collectors.toList());



replaceSpecialCharUtil.convertResourceBundleToMap(junkCharResource).entrySet().stream()
				.forEach(entry -> logger.info(entry.getKey() + " : " + entry.getValue()));

junkCharResource.getKeys().asIterator().forEachRemaining(key -> logger.info(key));

Set<String> keySet = messageSourceProperties.keySet().stream()
				.map(Object::toString).collect(Collectors.toSet());



We can achieve this by leveraging a simple lambda expression calling the StringUtils.capitalize() method directly:

messages.forEach(word -> StringUtils.capitalize(word));

Or, we can use a method reference to simply refer to the capitalize static method:

messages.forEach(StringUtils::capitalize);

Notice that method references always utilize the :: operator.

Spring: contextConfigLocation context-param and init-param in web.xml

https://stackoverflow.com/questions/15818047/spring-namespace-vs-contextconfiglocation-init-parameters-in-web-xml

https://stackoverflow.com/questions/27539610/order-of-loading-contextconfiglocation-in-web-xml-of-spring-servlet-project

https://howtodoinjava.com/spring-mvc/contextloaderlistener-vs-dispatcherservlet/


DispatcherServlet – Child application contexts

DispatcherServlet is essentially a Servlet (it extends HttpServlet) whose primary purpose is to handle incoming web requests matching the configured URL pattern. It take an incoming URI and find the right combination of controller and view. So it is the front controller.

When you define a DispatcherServlet in spring configuration, you provide an XML file with entries of controller classes, views mappings etc. using contextConfigLocation attribute.

web.xml
<servlet>
    <servlet-name>employee-services</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:employee-services-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>



ContextLoaderListener – Root application context

ContextLoaderListener creates the root application context and will be shared with child contexts created by all DispatcherServlet contexts. You can have only one entry of this in web.xml.

web.xml
<listener>
  <listener-class>
    org.springframework.web.context.ContextLoaderListener
  </listener-class>
</listener>
  
<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/spring/applicationContext.xml</param-value>
</context-param>

The context of ContextLoaderListener contains beans that globally visible, like services, repositories, infrastructure beans, etc.


Azure - Pipeline - Add Approver for Stage

https://learn.microsoft.com/en-us/azure/devops/pipelines/process/approvals?view=azure-devops&tabs=check-pass