Solved

EJB Issue

Posted on 2013-05-22
2
424 Views
Last Modified: 2013-06-01
Hi,

I created EJB MDB project based on t he link
http://grwebservice.blogspot.in/2009/06/message-driven-bean.html

I configured GPQueue2 by adding mbean entry at the end to  C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2\server\default\deploy\jbossmq-destinations-services.xml file



 <mbean code="org.jboss.jms.server.destination.QueueService"    
      name="jboss.messaging.destination:service=Queue,name=DLQ"    
      xmbean-dd="xmdesc/Queue-xmbean.xml">    
      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>          
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>    
      <depends>jboss.messaging:service=PostOffice</depends>    
   </mbean>    
       
   <!--    
      The Default Expiry Queue.    
   -->    
    
   <mbean code="org.jboss.jms.server.destination.QueueService"    
      name="jboss.messaging.destination:service=Queue,name=ExpiryQueue"    
      xmbean-dd="xmdesc/Queue-xmbean.xml">    
      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>          
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>    
      <depends>jboss.messaging:service=PostOffice</depends>    
   </mbean>       
    
 <mbean code="org.jboss.jms.server.destination.QueueService"    
      name="jboss.messaging.destination:service=Queue,name=ExpiryQueue2"    
      xmbean-dd="xmdesc/Queue-xmbean.xml">    
      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>          
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>    
      <depends>jboss.messaging:service=PostOffice</depends>    
   </mbean>    
    <mbean code="org.jboss.jms.server.destination.TopicService"    
      name="jboss.messaging.destination:service=Topic,name=GpTopicc"    
      xmbean-dd="xmdesc/Queue-xmbean.xml">    
      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>          
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>    
      <depends>jboss.messaging:service=PostOffice</depends>    
   </mbean>    


    
 <mbean code="org.jboss.jms.server.destination.QueueService"    
      name="jboss.messaging.destination:service=Queue,name=GPQUEUE2"    
      xmbean-dd="xmdesc/Queue-xmbean.xml">    
      <annotation>@org.jboss.system.deployers.managed.ManagementObjectClass(code=org.jboss.jms.server.destination.QueueServiceMO)</annotation>          
      <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends>    
      <depends>jboss.messaging:service=PostOffice</depends>    
   </mbean>  
</server>    

Open in new window


I see the 'GPQUEUE2' QUeue on the console when i started the server.


Is that is right way to define what those each elements in the mbean represent. Where can i find more info on that. How to define topic instead of queue in that mbean.

I wrote MDB in ejb project as below

package com.gp;

import javax.ejb.ActivationConfigProperty;
import javax.ejb.MessageDriven;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

/**
 * Message-Driven Bean implementation class for: MDBQueue01
 *
 */
@MessageDriven(
		activationConfig = { @ActivationConfigProperty(
				propertyName = "destinationType", propertyValue = "javax.jms.Queue"
		), @ActivationConfigProperty(
				propertyName = "destination", propertyValue = "queue/GPQueue2") }, 
		mappedName = "GPQueue2")
public class MDBQueue01 implements MessageListener {

    /**
     * Default constructor. 
     */
    public MDBQueue01() {
        // TODO Auto-generated constructor stub
    }
	
	/**
     * @see MessageListener#onMessage(Message)
     */
    public void onMessage(Message message) {
        //	textMessage = ((TextMessage)message).getText();
		System.out.println("GpMDBQ onMessage method received msg"+(TextMessage)message);
        
    }

}

Open in new window


I wrote client file in separate web project as below

import java.io.FileInputStream;
import java.util.Properties;

import javax.jms.Queue;
import javax.jms.QueueConnection;
import javax.jms.QueueConnectionFactory;
import javax.jms.QueueSender;
import javax.jms.QueueSession;
import javax.jms.TextMessage;
import javax.naming.InitialContext;

public class Client {
public static void main(String[] args) throws Exception {
	System.out.println("in main....");
QueueConnection cnn = null;
QueueSender sender = null;
QueueSession session = null;

Properties props = new Properties();
props.load(new FileInputStream("EJBJNDI.properties")); //
InitialContext ic = new InitialContext(props);

//InitialContext ctx = new InitialContext();
Queue queue = (Queue) ic.lookup("queue/GPQueue2");
QueueConnectionFactory factory = (QueueConnectionFactory) ic.lookup("ConnectionFactory");
cnn = factory.createQueueConnection();
session = cnn.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

TextMessage msg = session.createTextMessage("Hello World");

sender = session.createSender(queue);
sender.send(msg);
System.out.println("Message sent successfully to remote queue.");

}
}

Open in new window



when i run the client.java file i get output as shown below

22:52:11,327 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
22:52:11,328 INFO  [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.CR2 (build: SVNTag=JBoss_5_0_0_CR2 date=200809171046)
22:52:11,331 INFO  [ServerImpl] Home Dir: C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2
22:52:11,331 INFO  [ServerImpl] Home URL: file:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/
22:52:11,331 INFO  [ServerImpl] Library URL: file:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/lib/
22:52:11,332 INFO  [ServerImpl] Patch URL: null
22:52:11,332 INFO  [ServerImpl] Server Name: default
22:52:11,332 INFO  [ServerImpl] Server Home Dir: C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2\server\default
22:52:11,332 INFO  [ServerImpl] Server Home URL: file:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/
22:52:11,332 INFO  [ServerImpl] Server Data Dir: C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2\server\default\data
22:52:11,332 INFO  [ServerImpl] Server Temp Dir: C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2\server\default\tmp
22:52:11,333 INFO  [ServerImpl] Server Config URL: file:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/conf/
22:52:11,333 INFO  [ServerImpl] Server Library URL: file:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/lib/
22:52:11,333 INFO  [ServerImpl] Root Deployment Filename: jboss-service.xml
22:52:11,927 INFO  [ServerImpl] Starting Microcontainer, bootstrapURL=file:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/conf/bootstrap.xml
22:52:12,724 INFO  [CopyMechanism] VFS temp dir: C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2\server\default\tmp
22:52:12,757 INFO  [ZipEntryContext] VFS force nested jars copy-mode is enabled.
22:52:14,019 INFO  [ServerInfo] Java version: 1.7.0_02,Oracle Corporation
22:52:14,019 INFO  [ServerInfo] Java VM: Java HotSpot(TM) 64-Bit Server VM 22.0-b10,Oracle Corporation
22:52:14,019 INFO  [ServerInfo] OS-System: Windows 7 6.1,amd64
22:52:14,053 INFO  [JMXKernel] Legacy JMX core initialized
22:52:15,144 INFO  [MetaDataAwareProfile] Using profile root:C:\softwares\jboss-5.0.0.CR2\jboss-5.0.0.CR2\server\default
22:52:16,410 INFO  [WebService] Using RMI server codebase: http://127.0.0.1:8083/
22:52:24,187 WARN  [HackClassloaderMetaDataDeployer] FIXME Using loader repository config: jboss.console:sar=console-mgr.sar for  vfsfile:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/management/console-mgr.sar/ use classloading metadata not loader repository config
22:52:24,681 INFO  [AspectDeployer] Deploying xml into org.jboss.aop.AspectManager@793b23eb for BaseClassLoader@26d32045{vfsfile:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/ejb3-interceptors-aop.xml}
22:52:30,975 WARN  [EjbMetadataJndiPolicyDecoratorDeployer] Defaulting to DefaultJndiBindingPolicy of "org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy" for Session Bean FirstDemoEJB
22:52:30,996 WARN  [EjbMetadataJndiPolicyDecoratorDeployer] Defaulting to DefaultJndiBindingPolicy of "org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy" for Session Bean MDBQueue01
22:52:33,798 INFO  [JMXConnectorServerService] JMX Connector server: service:jmx:rmi://127.0.0.1/jndi/rmi://127.0.0.1:1090/jmxconnector
22:52:33,899 INFO  [MailService] Mail Service bound to java:/Mail
22:52:34,235 INFO  [NativeServerConfig] JBoss Web Services - Stack Native Core
22:52:34,236 INFO  [NativeServerConfig] 3.0.3.GA
22:52:34,713 WARN  [JBossASSecurityMetadataStore] WARNING! POTENTIAL SECURITY RISK. It has been detected that the MessageSucker component which sucks messages from one node to another has not had its password changed from the installation default. Please see the JBoss Messaging user guide for instructions on how to do this.
22:52:34,847 INFO  [TransactionManagerService] JBossTS Transaction Service (JTA version) - JBoss Inc.
22:52:34,847 INFO  [TransactionManagerService] Setting up property manager MBean and JMX layer
22:52:35,025 INFO  [TransactionManagerService] Initializing recovery manager
22:52:35,124 INFO  [TransactionManagerService] Recovery manager configured
22:52:35,124 INFO  [TransactionManagerService] Binding TransactionManager JNDI Reference
22:52:35,144 INFO  [TransactionManagerService] Starting transaction recovery manager
22:52:35,467 INFO  [AprLifecycleListener] The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_02\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files (x86)\QuickTime\QTSystem\;JAVA_HOME\bin;C:\Program Files\apache-maven-3.0.4-bin\apache-maven-3.0.4\bin;.
22:52:35,536 INFO  [Http11Protocol] Initializing Coyote HTTP/1.1 on http-127.0.0.1-8080
22:52:35,537 INFO  [AjpProtocol] Initializing Coyote AJP/1.3 on ajp-127.0.0.1-8009
22:52:35,537 INFO  [Catalina] Initialization processed in 201 ms
22:52:35,537 INFO  [StandardService] Starting service jboss.web
22:52:35,541 INFO  [StandardEngine] Starting Servlet Engine: JBoss Web/2.1.1.CR7
22:52:35,583 INFO  [Catalina] Server startup in 46 ms
22:52:35,646 INFO  [TomcatDeployment] deploy, ctxPath=/jbossws, vfsUrl=jbossws.sar/jbossws-management.war
22:52:36,123 INFO  [TomcatDeployment] deploy, ctxPath=/invoker, vfsUrl=http-invoker.sar/invoker.war
22:52:36,179 INFO  [TomcatDeployment] deploy, ctxPath=/web-console, vfsUrl=management/console-mgr.sar/web-console.war
22:52:36,467 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/jboss-local-jdbc.rar/META-INF/ra.xml
22:52:36,476 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/jboss-xa-jdbc.rar/META-INF/ra.xml
22:52:36,492 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/jms-ra.rar/META-INF/ra.xml
22:52:36,503 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/mail-ra.rar/META-INF/ra.xml
22:52:36,518 INFO  [RARDeployment] Required license terms exist, view vfszip:/C:/softwares/jboss-5.0.0.CR2/jboss-5.0.0.CR2/server/default/deploy/quartz-ra.rar/META-INF/ra.xml
22:52:36,612 INFO  [SimpleThreadPool] Job execution threads will use class loader of thread: main
22:52:36,635 INFO  [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
22:52:36,637 INFO  [RAMJobStore] RAMJobStore initialized.
22:52:36,637 INFO  [StdSchedulerFactory] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
22:52:36,637 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
22:52:36,638 INFO  [QuartzScheduler] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
22:52:37,180 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS'
22:52:37,447 WARN  [QuartzTimerServiceFactory] sql failed: CREATE TABLE QRTZ_JOB_DETAILS(JOB_NAME VARCHAR(80) NOT NULL, JOB_GROUP VARCHAR(80) NOT NULL, DESCRIPTION VARCHAR(120) NULL, JOB_CLASS_NAME VARCHAR(128) NOT NULL, IS_DURABLE VARCHAR(1) NOT NULL, IS_VOLATILE VARCHAR(1) NOT NULL, IS_STATEFUL VARCHAR(1) NOT NULL, REQUESTS_RECOVERY VARCHAR(1) NOT NULL, JOB_DATA BINARY NULL, PRIMARY KEY (JOB_NAME,JOB_GROUP))
22:52:37,479 INFO  [SimpleThreadPool] Job execution threads will use class loader of thread: main
22:52:37,481 INFO  [QuartzScheduler] Quartz Scheduler v.1.5.2 created.
22:52:37,481 INFO  [JobStoreCMT] Using db table-based data access locking (synchronization).
22:52:37,490 INFO  [JobStoreCMT] Removed 0 Volatile Trigger(s).
22:52:37,490 INFO  [JobStoreCMT] Removed 0 Volatile Job(s).
22:52:37,491 INFO  [JobStoreCMT] JobStoreCMT initialized.
22:52:37,491 INFO  [StdSchedulerFactory] Quartz scheduler 'JBossEJB3QuartzScheduler' initialized from an externally provided properties instance.
22:52:37,491 INFO  [StdSchedulerFactory] Quartz scheduler version: 1.5.2
22:52:37,494 INFO  [JobStoreCMT] Freed 0 triggers from 'acquired' / 'blocked' state.
22:52:37,499 INFO  [JobStoreCMT] Recovering 0 jobs that were in-progress at the time of the last shut-down.
22:52:37,499 INFO  [JobStoreCMT] Recovery complete.
22:52:37,500 INFO  [JobStoreCMT] Removed 0 'complete' triggers.
22:52:37,500 INFO  [JobStoreCMT] Removed 0 stale fired job entries.
22:52:37,503 INFO  [QuartzScheduler] Scheduler JBossEJB3QuartzScheduler_$_NON_CLUSTERED started.
22:52:37,639 INFO  [ServerPeer] JBoss Messaging 1.4.1.CR1 server [0] started
22:52:37,727 WARN  [ConnectionFactoryJNDIMapper] supportsFailover attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support failover
22:52:37,727 WARN  [ConnectionFactoryJNDIMapper] supportsLoadBalancing attribute is true on connection factory: jboss.messaging.connectionfactory:service=ClusteredConnectionFactory but post office is non clustered. So connection factory will *not* support load balancing
22:52:37,780 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
22:52:37,780 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@36d65080 started
22:52:37,781 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
22:52:37,781 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@63a0434a started
22:52:37,826 INFO  [QueueService] Queue[/queue/ExpiryQueue2] started, fullSize=200000, pageSize=2000, downCacheSize=2000
22:52:37,829 INFO  [QueueService] Queue[/queue/ExpiryQueue] started, fullSize=200000, pageSize=2000, downCacheSize=2000
22:52:37,831 INFO  [QueueService] Queue[/queue/GPQueue2] started, fullSize=200000, pageSize=2000, downCacheSize=2000
22:52:37,833 INFO  [ConnectionFactory] Connector bisocket://127.0.0.1:4457 has leasing enabled, lease period 10000 milliseconds
22:52:37,833 INFO  [ConnectionFactory] org.jboss.jms.server.connectionfactory.ConnectionFactory@340fa23d started
22:52:37,835 INFO  [QueueService] Queue[/queue/DLQ] started, fullSize=200000, pageSize=2000, downCacheSize=2000
22:52:37,912 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=ConnectionFactoryBinding,name=JmsXA' to JNDI name 'java:JmsXA'
22:52:37,926 INFO  [TomcatDeployment] deploy, ctxPath=/, vfsUrl=ROOT.war
22:52:38,007 INFO  [TomcatDeployment] deploy, ctxPath=/TestEJB, vfsUrl=TestEJB.war
22:52:38,081 INFO  [TomcatDeployment] deploy, ctxPath=/jmx-console, vfsUrl=jmx-console.war
22:52:38,877 INFO  [JBossASKernel] Created KernelDeployment for: DemoEJB.jar
22:52:38,880 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=DemoEJB.jar,jar=DemoEJB.jar,name=FirstDemoEJB,service=EJB3
22:52:38,881 INFO  [JBossASKernel]   with dependencies:
22:52:38,881 INFO  [JBossASKernel]   and demands:
22:52:38,881 INFO  [JBossASKernel]       jboss.ejb:service=EJBTimerService
22:52:38,881 INFO  [JBossASKernel]   and supplies:
22:52:38,881 INFO  [JBossASKernel]       jndi:FirstDemoEJB/remote-com.demo.FirstDemoEJBRemote
22:52:38,881 INFO  [JBossASKernel]       Class:com.demo.FirstDemoEJBRemote
22:52:38,881 INFO  [JBossASKernel]       jndi:FirstDemoEJB/remote
22:52:38,881 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=DemoEJB.jar,jar=DemoEJB.jar,name=FirstDemoEJB,service=EJB3) to KernelDeployment of: DemoEJB.jar
22:52:39,138 INFO  [SessionSpecContainer] Starting jboss.j2ee:ear=DemoEJB.jar,jar=DemoEJB.jar,name=FirstDemoEJB,service=EJB3
22:52:39,149 INFO  [EJBContainer] STARTED EJB: com.demo.FirstDemoEJB ejbName: FirstDemoEJB
22:52:39,153 WARN  [SessionSpecContainer] Populating JBoss-specific annotation metadata manually until done by deployers: jboss.j2ee:ear=DemoEJB.jar,jar=DemoEJB.jar,name=FirstDemoEJB,service=EJB3
22:52:39,303 INFO  [JBossASKernel] Created KernelDeployment for: GpMDBQProj.jar
22:52:39,303 INFO  [JBossASKernel] installing bean: jboss.j2ee:ear=GpMDBQProj.jar,jar=GpMDBQProj.jar,name=MDBQueue01,service=EJB3
22:52:39,303 INFO  [JBossASKernel]   with dependencies:
22:52:39,303 INFO  [JBossASKernel]   and demands:
22:52:39,303 INFO  [JBossASKernel]       jboss.ejb:service=EJBTimerService
22:52:39,303 INFO  [JBossASKernel]   and supplies:
22:52:39,303 INFO  [JBossASKernel]       jndi:null
22:52:39,303 INFO  [JBossASKernel]       Class:javax.jms.MessageListener
22:52:39,303 INFO  [JBossASKernel] Added bean(jboss.j2ee:ear=GpMDBQProj.jar,jar=GpMDBQProj.jar,name=MDBQueue01,service=EJB3) to KernelDeployment of: GpMDBQProj.jar
22:52:39,344 INFO  [EJBContainer] STARTED EJB: com.gp.MDBQueue01 ejbName: MDBQueue01
22:52:39,395 INFO  [Http11Protocol] Starting Coyote HTTP/1.1 on http-127.0.0.1-8080
22:52:39,426 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
22:52:39,441 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.CR2 (build: SVNTag=JBoss_5_0_0_CR2 date=200809171046)] Started in 28s:107ms


property file is
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:1099

Open in new window



I have not seen
Hello World
Message sent successfully to remote queue.

Since i coded like this

TextMessage msg = session.createTextMessage("Hello World");

sender = session.createSender(queue);
sender.send(msg);
System.out.println("Message sent successfully to remote queue.");


How do i see above output. How to fix this issue.

Any links, sample code, resources, ideas highly appreciated. Thanks in advace
gpqueue.jpg
gpqueue2.jpg
0
Comment
Question by:gudii9
2 Comments
 
LVL 35

Accepted Solution

by:
girionis earned 500 total points
Comment Utility
Do you see the message

"Message sent successfully to remote queue."

?
0
 
LVL 7

Author Comment

by:gudii9
Comment Utility
i do not see. Are there are any video tutorials on how to set up and run. Please advise
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
The viewer will learn how to implement Singleton Design Pattern in Java.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now