Spring Error

In an event you encounter an error as below in the development of a spring application with STS; you can find the solution as stated.

Error:

Exception in thread “main” org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 14 in XML document from class path resource [META-INF/spring/app-context.xml] is invalid; nested exception is org.xml.sax.SAXParseException: The prefix “p” for attribute “p:messageProvider-ref” associated with an element type “bean” is not bound.
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions
(XmlBeanDefinitionReader.java:396)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions
(XmlBeanDefinitionReader.java:334)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions
(XmlBeanDefinitionReader.java:302)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions
(AbstractBeanDefinitionReader.java:143)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions
(AbstractBeanDefinitionReader.java:178)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions
(AbstractBeanDefinitionReader.java:149)
org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions
(AbstractBeanDefinitionReader.java:212)
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions
(AbstractXmlApplicationContext.java:126)
org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions
(AbstractXmlApplicationContext.ja va:92)
org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory
(AbstractRefreshableApplicationContext.java:130)
org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory
(AbstractApplicationContext.java:467)
org.springframework.context.support.AbstractApplicationContext.refresh
(AbstractApplicationContext.java:397)
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
com.apress.prospring3.ch2.HelloWorldSpringDI.main(HelloWorldSpringDI.java:15)
Caused by: org.xml.sax.SAXParseException: The prefix “p” for attribute “p:messageProvider-ref” associated with an element type “bean” is not bound.
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError
(ErrorHandlerWrapper.java:174)
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError
(XMLErrorReporter.java:388)
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError
(XMLErrorReporter.java:318)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement
(XMLNSDocumentScannerImpl.java:334)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next
(XMLDocumentFragmentScannerImpl.java:2755)
com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next
(XMLDocumentScannerImpl.java:648)
com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next
(XMLNSDocumentScannerImpl.java:140)
com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument
(XMLDocumentFragmentScannerImpl.java:511)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:235)
com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
… 14 more

Solution:
To resolve this problem, the line below would have to be included in the xml schema definition in the first few lines of your xml file (in my case app-context.xml)
xmlns:p=”http://www.springframework.org/schema/p&#8221;

so i have the first 5 lines of my xml file to be this:
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans&#8221;
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance&#8221;
xmlns:p=”http://www.springframework.org/schema/p&#8221;
xmlns:context=”http://www.springframework.org/schema/context&#8221;

*This works fine.

You can achieve that Goal

Find out how easy it is to achieve the goal:

This can be done by finding out if someone has achieved such a goal or something simillar before and how the person went about it. Knowing about different circumstances surrounding such situation with different people could give more insight into the challenges and opportunities you would come across along the line.

Be brave about your goal:

This does not only apply to your goal, it does apply to every of your endeavour in life. Always be brave, even if you are not, pretend to be. Believe me, no one can tell the difference and this makes you move very fast towards achieving your set goals.

Get determined to achieve it:

When a goal has been set, there is no need considering if it is achievable or not, achievers of great goals are characterized by their level of determination and also by this same act of determination, seemingly impossible inventions have been made.

Visualize the steps:

In your mind, visualize the process you are likely to follow in order to achieve the goal. Even if some of the steps look unrealistic at the moment, never mind, just know them, make them as notes and keep your notes where can see them often.

Compensate used resources adequately:

As you move towards your goal, there is a high possibility that you will make use of human resources. No matter the way or mode by which you make use of the resources, always make sure you make them better than you met them. In other words, do not take advantage of others in achieving your own goals.

Add hope to your determination:

A large percentage of achieved goals were never seen clearly at their early stage. Hoping for what is seen is not hope and when you have hope for what is unseen, you are able to patiently prepare for the manifestation.

Move towards your goal:

Just keep moving, you may not be on a very high speed, make sure you are moving; which also mean you are not stagnant. Some people do not achieve their goals because they have either moved entirely in a different direction or they have refused to move towards their goals. This could also mean taking some physical steps like changing your location (if unfavourable) or mindset if it does not go inline with the achievement of the set goals.
After the goal is achieved, appreciate those that are to be appreciated and give credits to whom it is due, remember that the goal would have equally never been achieved.

With the few tips above, you can actually roll out your goals and set out to achieve them.

My fears to Experiment (Learning challenges)

Living in peace as some people believe, is a factor of how much trouble you cause for yourself. ‘I would rather not try it than trying it and getting myself into trouble’.

This made me remember my university days at the time when I just got my 512 megabyte RAM Acer laptop. I had worked on desktop windows computers for a while before that time and so I could boast of being able to try my hands on some default applications, Microsoft word being the most popular. With that seemingly great knowledge, I could say the laptop was not extremely useless in my hand on the one hand. On the other hand, I often tried to go beyond my knowledge limit and experiment with the system, maybe trying to press the F8 key while I had just switched on my computer, looking forward to knowing what is really working in the whole system and why and how is a computer system formatted. Sometimes I would think of my 3 gigabytes saved videos and documents; what happens to all that if I go ahead is the question that comes to my mind and then I would rather not try to proceed in my experiments and even sometimes when I try, I find myself in a mess of the system, running to a friend who luckily would not ask me to pay.

Life is full of risks and challenges; therefore, trying to stay safe by avoiding all challenges also has its disadvantages. Ben Carson, the great neurosurgeon in one of his books, ‘Take the risk’ explained a way by which he takes decisions using the best and worst case analysis. There are some risks one would have to take to achieve some goals in life; these may be different as regards specific types of career paths or even one’s determination.

There is a popular saying that ‘experience is the best teacher’ and in the context of this note I would like to define experience as an act that is acquired through practice. In a piece, titled CodeKata (how to become a better developer) , on codkata.pragprog.com The writer emphasized the need for programmers and developers to create time for practice instead of always trying to learn on the job through live applications, problems or errors. This implies that one can actually learn a lot of things in the corner of one’s room by creating experiences which are in most cases only known to you. Sometimes some of your experiments may be costly but as rightly said, ‘failure does not come when you try something and it did not work as expected, it comes when you refuse to try again’.

Back to the story of my university days, I discovered the need to really give a trial to some of my wishes and closed my eyes to every bit of fear that had discouraged me from experimenting. I got some additional tools and software even though I did not know the correct configuration or specifications needed, I just wanted to try. After all, it was my laptop. To cut the story short, after days of continual practice, I discovered I started understanding some terms that emanates when my so called techie-friends were discussing, I was able to pick one or two corrections for my mistakes and I very much appreciated watching people work on faulty or dead systems.

Items and materials around you especially the ones you own are subjected to you and in no way is it sensible for you to make them control you. Decide what you want and try it out, it could be a great resource to your long awaited breakthrough. Even if your environment says no, you have got to be determined to say yes.

In mind but not in sight

Picking a career is in parts: an individual will always have in mind the nature of what (s)he would like to be or do in life and at the same time, the situation or circumstances in which you find yourself suggests what you should be.

Today, we see Microsoft and we think of Bill gates, the founder, a question that should actually come to one’s mind is if he (Bill Gates ) actually attended any institution where he was taught ‘Microsoft’ or did he graduate from an institution with a discipline that is related to computing or the Information communication Technology industry? In Bill gate’s biography here, he was known to have dropped out of Harvard University because of his interest in ICT so to say and here comes readily an answer to the question, which is that an individual has the ability to become ‘what he is’ in his mind as well as what the environment presents. The ICT career is such a career that a lot of people, even without a high school grade not to talk of a university degree, have been successful with.

In some parts of the world, especially the developing nations, the environment instills a particular kind and type of profession and steps to career achievement, take for example, a child who is constrained to attend a primary school, Junior and high school in which he/she chooses to be in the science class to be taught some specific types of courses like Biology and chemistry and then get admitted into the university along the same line of courses. In some cases, this is done as a ‘do or die’ affair especially when the child does not really have interest in the choice.

Sometimes ago I had a thought on how the exploration rate of human beings decrease with age. A three to four year old child would like to experiment anything (everything) to the extent of even wanting to check what is burning inside a flame. This spirit diminishes as we grow and all tends to be naturally streamlined.

With the great potential that you have been endowed with, considering what your mind says you should be, should not be a taboo. There are people who look up to some specific people in the ICT world (a situation in which I was) and say in their heart “I wish I could be like him or her”, yes you can, all you need is a bold and focused step towards achieving your goal. At the initial stage, you might not have an hundred percent clue about where you are going but just keep moving.

Having a career in the ICT industry is a very interesting opportunity as a great percentage of members enjoy what they do. Things are made to work especially in the modern world and virtually one is able to achieve to a great extent at maximum. Interesting news and events come up daily with creative ideas and structural constructions you can use your time for. I would not want to talk about the big world of financial reward that follows a successfully designed and completed project.

All I have written about starts with a little step.  Make a use of the tools around you; learn how some simple applications that you will necessarily have on your computer system work and just continue to learn until there is nothing you have to learn.

A Comment on Chad Fowler’s Book

After reading Chad Fowler’s book, titled ‘My job went to India…’, I decided to put up this piece about the author. Simply put, Chad is someone that has a good understanding of the Information Communication Technology world; his book answered a lot of questions that most newbies and even experienced programmers or developers of today would often ask.

Apart from this book which is enriched with the analysis of the author’s practical experience in India, he also has a publication titled ‘The passionate programmer’ and some others on the Ruby programming language.

This book is a must read for all, especially in the ICT industry, and in essence, not all about reading but putting to use the practical ideas that were given.

Installation of the JDK on a RedHat Linux System

Installing the JDK on a RedHat Linux System

Today, i feel i should share a solution to another very important process that causes some hitches especially for coders and developers that are to a certain extent upcoming.

It is about the simple java installation on linux redhat.

Ordinarily on a newly installed Redhat Linux server, you might not get a java installation that you desire or even none at all. If you are in such a position then i am happy you got to this blog.

In this post I will describe how to install a JDK on your RedHat Linux server. It should also work on Fedora, however I have not tried it personally.

1. First we need to download a JDK. I am downloading JDK 6u1 from http://java.sun.com/javase/downloads/index.jsp.
Go to that page and click the Download button. On the new page that loads, we will download the Linux RPM in self-extracting file. You can contact me if you are having a challenge doing that.
2. Once you have downloaded your file, and have it placed somewhere on your Linux box (I put mine in /root/jdk), we will extract and install it. The name of the file I downloaded was jdk-6u1-linux-i586-rpm.bin.
3. Login to your Linux box as the root user, and change directory to where you placed the jdk file that you downloaded.
4. Make sure the file you downloaded is executable.

chmod 755 jdk-6u1-linux-i586-rpm.bin

5. Now run the file.

./jdk-6u1-linux-i586-rpm.bin

6. A license agreement will appear on your screen displayed through the more command.
Simply press the enter key until you get to the end, or just press the q key to skip right to the end.
7. At the end of the agreement, type yes to agree to it and continue with the install.
8. The JDK will now unpack and install itself. Your screen output should look similar to the following:

Unpacking…
Checksumming…
Extracting…
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP (Zip-Bugs@lists.wku.edu).
inflating: jdk-6u1-linux-i586.rpm
Preparing… ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files…
rt.jar…
jsse.jar…
charsets.jar…
tools.jar…
localedata.jar…
plugin.jar…
javaws.jar…
deploy.jar…

Done.

9. The install routine installs the files into the directory /usr/java/jdk1.6.0_01. It also creates two links in that directory named default and latest.
It’s about time Sun has done this. I have been manually doing something like this since the JDK 1.2 days.
These links make it easy to migrate to a new JVM, as you would reference the link in your shell scripts and not the actual JVM directory itself.
10. Now we want our system to automatically put the JDK binary files into our PATH when we login for all users.
To do this, edit the /etc/profile file and place the following two lines at the bottom of your file:

JAVA_HOME=/usr/java/default; export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH; export PATH

11. Now if you logout of your system and then log back in, you should be able to run the java command to print its version. Run the following command:

java -version

And your output should look like:

java version “1.6.0_01”
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

12. Congratulations, your JDK is installed!

 

Regards.

How do you send heavy files?

This post i believe might not be read by all but believe me would most likely be useful to all, take a look at the points below:

Do you spend a quality time with you computer and crave acquire more knowledge daily.?

Do you have contacts that you do some form of work or another together, thereby involving you sending some files or even documents?

If the two questions above applies to you then i think you should consider this post.

Many people have mastered the means of sending documents and files through the electronic mails especially when they are not heavy as i know gmail allows files (not executable) of sizes not more than 25 mb. However, what happens when you are to send a 2 gigabyte document to a colleague in another location. Do you sometimes take physical transfer as an option?

http://www.4shared.com is a site i discovered some years back; although being a very popular site, many people still seem not to know about it or what it does.

The function is very simple and it is that you can have up to 15 gigabyte memory free to yourself to store files or send files, just like you manage your email addresses.

To a very good extent, this i think has eliminated the nightmare of not knowing how to send heavy files to any part of the world, especially for those who deal with executable files and other forms of files of folder which can not be sent by ordinary mails.

Follow the steps below to get started using 4shared for free. You can decide to upgrade your account at anytime paying a token if you feel 15 gigabyte will be too small for you to use.

1. visit http://www.4shared.com and sign up

2. You can login with your username and password and then upload whichever files you want to.

3. Copy the url link of your uploaded file and you can send just that to whoever is going to download.

NB: The ‘downloader’ will also have to be a registered member of 4shared but only those who have the link will be able to download the file as long as it still exist in your box. This means that you can decide to delete your upload as soon as the other party has finished the download.

Hope this post was helpful?  please let me have your comments or contact me for further clarification.

Regards.