Professional Documents
Culture Documents
Reference Notes For Interview
Reference Notes For Interview
WS)
->
Project Name
Project Category
Time Taken
Technology
Database
Framework
OS
Description
Project Name
Project Category
Company Name / Client
Name
Time Taken
Technology
Database
Framework
OS
Third Party Component
UltimateSMS
Project Type
Web
Other
1 Year
Team Size
4
Core Java, HTML, Java/J2EE, Javascript, XML
PostgreSQL
Java Hibernate
UNIX / LINUX
This system is designed to send out messages from a web interface.
Unlike other SMS providers that provide the user with a HTTP API this
one is directly connected to a Open Source SMSC gateway (Kannel). We
send messages to a JMS Queue (Used as our JMS server) HornetQ. This
project also involves the use of a Messages Driven Bean which take
messages out of the HornetQ and performs necessary operations on the
object received. It also has a failsafe mechanism to buffer messages
in case Kannel is down. The system also provides detailed reports on
message delivery, it also tracks the message a teach point in the system.
SEDI PORTAL
Portals
Project Type
Web
Project Name
Project Category
Company Name / Client
Name
Time Taken
Technology
Database
Framework
OS
Payment Gateway
Third Party Component
Description
Desktop + Web
Project Name
KYC Document Management Project Type
Project Category
Document Management System
Company Name / Client
Idea & Vodafone Cellular
Name
Time Taken
1 Year 2 Months
Team Size
Technology
Java MVC, Java Swing, Java/J2EE
Database
MS SQL 2005
Framework
Spring
OS
Windows 2000/2003/2008 Server
Third Party Component Google API, Jasper Report, Jquery
Desktop + Web
Linux Commands :
-> ssh user@IP -port
e.g. >ssh lalit@192.168.10.20 -22
-22 is default for ssh command
secure share
-> scp secure copy on port 22
**Cronjob in Linux:
Job scheduling in linux using crontab table which executes shell
commands given in crontab after each interval of time given in that
table.
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
TABLE
CREATE
CREATE
CREATE
CREATE
CREATE
CREATE
CREATE
CREATE
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
INDEX
************KANNEL
WORKING
delivery report
#kannel
1=Received by recipient
#kannel with message id
m8=Delivered to mobile networks
#kannel
4=Message queued
#kannel
2=Error delivering message
#kannel
16=Message rejected
#kannel with message id
m16=Message rejected
#kannel
8=Unconfirmed delivery to mobile networks
Working of kannel message sending
1. you send a message using dlr-mask=7 and dlr-url=http://www.xyz.com/cgi/dlr.php?
myId=123456&type=%d
2. Kannel forwards the message to the SMSC and keeps track of the message
3. The SMSC can not reach the phone and thus returns a buffered message
4. Kannel calls http://www.xyz.com/cgi/dlr.php?myId=123456&type=4 to indicate the message
being buffered
5. The phone is switched on and the SMS gets delivered from the SMSC. The SMSC reports this
to Kannel
6. Kannel calls http://www.xyz.com/cgi/dlr.php?myId=123456&type=1 to indicate the final success
-> kannel sends a reply by calling servlet (metioned in DLR-Url ) for every request with
different -> sms status like (8 ,4,1,2 ,16).
-> 5 Issues Faced :
If we send 1 million sms to kannel (via http ) , kannel sends us a reply by calling servlet
once for every request as each servlet runs as a separate thread (also the thread would need to
execute its own logic, which takes time as it contains database connection)
Exception
OutOfMemoryError: unable to create new native thread
Error Description :
This Error thrown when the HotSpot JVM is unable to further create a new Java
thread.
Solution :
1) Integrated JMS queue.
2) Transfered all database logic in database level ( i.e stored procedure ).
Servlet create bean from requested parameter from kannel and add it jms queue
(HornetQueue). (Which minimize thread execution time)MDB(Message Driven Bean)
process messages asynchronously from queue. MDB execute database logic by using
stored procedure.