Thursday, March 30, 2017

RabbitMQ message proessing

MessagePostProcessor() {
       
        @Override
        public Message postProcessMessage(Message message) throws AmqpException {
            return decorateMessage(message, sender, recipients);
        }
       
    });


public void send(TradeRequest tradeRequest) {
    getRabbitTemplate().convertAndSend(tradeRequest, new MessagePostProcessor() {
        public Message postProcessMessage(Message message) throws AmqpException {
            message.getMessageProperties().setReplyTo(new Address(defaultReplyToQueue));
            try {
                message.getMessageProperties().setCorrelationId(
                    UUID.randomUUID().toString().getBytes("UTF-8"));
            }
            catch (UnsupportedEncodingException e) {
                throw new AmqpException(e);
            }
            return message;
        }
    });
}


AbstractCompressingPostProcessor

https://github.com/spring-projects/spring-amqp/blob/master/spring-amqp/src/main/java/org/springframework/amqp/support/postprocessor/AbstractCompressingPostProcessor.java

Sunday, March 26, 2017

Docker Basic commands

List of docker containers in running state:
docker ps

List of all docker containers ever created:
docker ps -a/-all

List of all docker containers in quiet output:

docker ps -q

docker ps -q -a

List of all  last created n docker containers:
docker ps --last n

List of docker images:
docker images

Run bash command on an image container id->#id 
sudo docker exec -i -t #containerId /bin/bash #by ID
sudo docker exec -i t #containerName /bin/bash #by Name

docker pull artifact
docker pull xyz/anti
docker images  /dapws latest/1.0.18/..<version

docker file
nano Docerfile

docker build – t demo . // -t tag it as demo name of the image is demo . means same location other wise use –f specify file name

Run it
docker run –it demo

Stop running a particular image
docker stop <image_name>

Remove docker instance
docker rm <instance_id>

docker exec 005,…._instance_id  ps
docker exec <instance_id> ls

Port mapping
docker run -p  server_port: <container_port>
Via docker file
In docker file add
expose 8080
now run command to map
3000 to 8080

FROM debian:jessie
COPY 1.txt /1.txt
ENV  

We can Run Script file ./sh file also through docker, but running time consuming operation is not something we want with docker.

Deploy one service instance on per docker image

>docker run --name  techie-sample-docker-nginx -p 3000:80 nginx
>docker run --name docker_nginx_instance_name -p  server_tcp_port_3000:container_port_80 image_name__nginx

Maven Docker Plugin:
mvn docker:build
mvn docker:start
mvn docker:run
mvn docker:stop
docker ps -a
docker rm #imgId
lsof -i:5432
More: https://dmp.fabric8.io/