text:
Lawns are greening up all over Northwest Florida, and you can practice some simple techniques to ensure yours is healthy and environmentally friendly.
Lawns are greening up all over Northwest Florida, and you can practice some simple techniques to ensure yours is healthy and environmentally friendly.
Applying the proper amount of fertilizer will help promote a vigorous lawn that can out-compete weeds and serve as a filter to protect Florida�s ground and surface waters.
Applying a half-pound of water-soluble nitrogen per 1,000 square feet of lawn will get your lawn off to a good start. Use a low phosphorus (second number on the bag) and high potassium (third number on the bag) fertilizer such as 8-0-8, 10-0-10 or 15-2-15.
Mowing is one of the most important management practices. However:
�Never remove more than one third of the leaf blade at any one time. Removing more can stress your lawn, making it susceptible to other problems.
�Mow at the highest height for your grass species. For St. Augustinegrass and Bahiagrass, this is 3.5 to 4 inches. If you have St. Augustinegrass cultivars Delmar or Seville, mow at 2 to 2.5 inches. Mow Centipedegrass at 1 to 2 inches.
�Leave grass clippings � they don�t contribute to thatch and return a small amount of fertility back to the lawn.
�Keep mower blades sharp. Dull blades tear leaf blades, making them look bad and leaving grass susceptible to insect or disease invasion.
�Don�t mow when it�s wet � this is dangerous for you, tough on the mower and bad for the grass.
�If you miss a weekly mowing, raise the mower height so you don�t remove too much tissue. Slowly bring the height back down to the recommended level.
Drought tolerance
Most lawns die from improper irrigation practices, but you can train your lawn to be more drought-tolerant with these tips:
�Irrigate less frequently for longer periods each time. This helps train roots to grow deeper, which makes your lawn more drought-tolerant. Grasses irrigated this way will survive once-a-week watering restrictions.
�Turn your automatic sprinkler system off and irrigate as needed. Your lawn is ready for water when leaf blades start to fold in half lengthwise or when footprints remain visible in the lawn long after being made. Irrigate when at least 30 percent of the lawn shows these signs, unless rain is forecast in the next 24 hours.
�Apply one-half to three-fourths of an inch of water when you irrigate. Place empty, straight-sided cans around the perimeter of the irrigation and see how long it takes to reach this amount.
�Irrigate around sunrise to allow leaf blades to dry during the day.
Larry Williams is an agent at the University of Florida's Institute of Food and Agricultural Sciences Extension office in Crestview.


text:
To view parent comment, click here.
To read all comments associated with this story, please click here.
Microsoft has been moving into a (in my opinion) right direction with Metro. After you learn an interface, you don't want everything to scream "I'm here look at me!!!!" We're moving into a kind of UI which stays out of your way until you need to do something. Now, the problem is exactly what you say: there is no way for a new user to know how the UI behaves. Nothing a tutorial can't fix.
Because most of Windows' interface is based on muscle memory, they decided to remove the redundant start menu (you have a start button on the keyboard and you move your mouse into the same spot), and replace it with app thumbnails, including the start screen. They also decided to not clutter the start screen with a search box because to search in an app, you bring up the charms bar and tap search. Or just mash the keyboard like in previous versions. The fact that people are clicking stuff in the start menu is their problem, because the default behavior of the Start menu has been the same since Vista: type to search.
- how to resize the app
- how to move the app
- how to close the app
- how to switch back to the Start Screen
- how to switch to another app
- Metro is a full-screen interface, so there is no resizing. Why would you expect resize in a non-windowed interface is beyond me.
- Drag & drop it from the app list. The drag at the top is a bit unusual, but it's pretty much like how Aero Snap behaves.
- Windows 8 memory management makes it so you don't have to close apps, and yes, the OS is better than you at managing memory.
- Start. All actions in Metro are designed with the idea that what can be done can also be reversed. Swiped an item by mistake? Swipe it again. Moved something? Move it back. Switched from an app to the start screen? Press start. Switched to the start screen from an app? Press start.
- Click its tile in the start screen, Alt-Tab, Win-Tab. It's the same as iPad, Android and previous windows versions.
- how to get back to the Start screen
- how to switch to a Metro app
- Because Desktop is an app, you do it the same as with any other app. This is called consistency.
- The same as with any other app.
That's because you're supposed to look at the screen, and KNOW what you can do.
I don't think there's a discoverability problem as much as a training problem. Teach users how to use it, and you won't hear any complaints. Because once you know how to use it, it's the same across all apps. Besides, even in the old versions of Windows you can't expect people to know what will happen without experimenting a bit with it. The classic UI is not intuitive, it has been learned. Just like Metro can be.

subset: commoncrawl


text:
WHS track athletes will be at Wichita State University's Cessna Stadium this Friday and Saturday.
Nine Wellington High School athletes will be competing at Wichita State University, May 24, and 25 for the High School State Track Meet.
Megan Campbell, senior, will get another crack at the titles in the 100 and 200 meter events. She has ran top times in the state throughout the 2013 season, and won each event at mostly every meet she's competed at. Her first race is the 200 prelim at 5:15 p.m.
Holly Wright, junior, will compete in the high jump, along with Avery Lewellen, sophomore. Wright will also be the first WHS athlete to compete on Friday, in the 100 meter hurdles preliminary event at 2:10 p.m. She has had a strong showing in the 100 meter Hurdles all season.
The next set of Lady-Crusaders out of the blocks will be at 2:55 p.m. for the 4x100 meter relay prelim, featuring Campbell, Wright, Micah Rogers, junior, and Dietra Sober, freshman.
Leah Nelson, sophomore, will run in the 400 meter prelim at 3:35 p.m.
Nelson, Campbell, Wright, and Cabriel Roe, sophomore, will race in the 4x400 meter relay, just before 6 p.m. on Friday. Rounding out the Crusader action on May 24 is Ian Stallbaumer, senior, in the Pole Vault prelim and finals at 6:30 p.m.
First thing Saturday morning is the 100 meter prelim at 8:30 a.m. with Campbell.
If Wright makes it out of prelims, she will race in the 100 meter hurdle finals at 9:30 a.m.
Halynn Page, sophomore, will throw the shot put on Saturday, the event starts at 9:45 p.m.
Potentially, the Crusaders will have a three hour gap after the shot put, before the next event. From here on out, it's all finals.
The 100 meter dash final is at 12:45 p.m., at 3 p.m. the girls 4x100 final will take place. The girls 400 meter run will be at 3:45 p.m. the 200 meter dash finale is set for 5:50 p.m. As the evening goes on, the finals for the 4x400 is at 6:30 p.m.


text:
HALO Branded Solutions has over 60 years of experience as a leading distributor of promotional products. With thousands of promotional product choices and customization options, we know these can become complicated purchases. HALO has developed a custom product configurator that will guide you through the entire customization process right on our website. Not only that, but our experienced merchandising team has hand-picked every product on HALO.com to provide the best online promotional items selection for you.
Expect exceptional customer service when you work with HALO - customer service is the heart of HALO Branded Solutions. In addition to this website, we have over 700 Account Executives in nearly 50 states to provide you with personal service. Your local Account Executive can help you with HALO's full suite of corporate branding solutions & products including promotional pens, trade show items, company logo store services, employee incentives, custom bags, safety gifts, reward programs, healthcare promotional products, promotional calendars, custom drinkware and more.
Product safety assurances and experience in a world beleaguered with increasing product safety concerns is also one of the key reasons why over 40,000 clients have trusted HALO Branded Solutions with their brands.
Focused on the Future


text:
May 31, 2006
The Lipscomb University Lady Bisons soccer team will play a 20-game schedule featuring eight home games.
Teams visiting the Lipscomb soccer complex will be Valparaiso, Murray State Jackson State and five Atlantic Sun Conference teams. The first home game of the season is Sept. 10 at 2 p.m. against Valparaiso. Murray State visits Sept. 17 at 3 p.m. Jackson State will be on campus Sept. 28 at 7 p.m.
The Lady Bisons will open the A-Sun portion of the schedule Sept. 21 at 7 p.m. against Gardner-Webb. The remaining A-Sun games at home are Campbell (Sept. 23, 1 p.m.), Belmont (Sept. 30, 6 p.m.), North Florida (Oct. 13, 7 p.m.) and Jacksonville University (Oct. 15, 1 p.m.).
A-Sun road games are Oct. 6 at Stetson at 7 p.m., Mercer on Oct. 8 at 2 p.m. Kennesaw State on Oct. 20 at 7 p.m. and East Tennessee State at Johnson City Oct. 22 at 2 p.m.
The Lady Bisons start the season on the road with five straight non-conference games. The season opener is Aug. 25 at South Carolina State at 6 p.m. On Aug. 27 the Lady Bisons travel to Winthrop for a 1 p.m. game. On Sept. 1 the Lady Bisons are at the University of Central Arkansas fro a 4 p.m. game. They play the University of Arkansas-Pine Bluff on Sept. 3 at 1 p.m. On Sept. 8 they travel to the University of North Alabama for a 6 p.m. game.
Rounding out the road trips are a Sept. 12 visit to Austin Peay at 7 p.m., a Sept. 15 visit to Middle Tennessee State for a 7 p.m. game and the regular season finale at the University of Tennessee-Martin at 2 p.m. Oct. 27.
The Lady Bisons are coached by Jenger Parrish.


text:
Hot Sale for SAIXIN shuttering magnet 600 KGS with step to Provence Importers
Product Detail
Product Tags
SX – 600 magnetic box is designed for fixed Angle edge mode and the development of magnetic fixture. With 10 mm height can direct pressure on the edge of the Angle steel bottom, the steps of light by the magnetic switch box can make the magnetic box firmly sucked on the platform, operation simple and convenient, economical and practical.
Unlike SX – 600 single magnetic box, the box of take steps length is 210 mm, please according to the customer side mode and platform to choose to use the distance, of course, we can also modify the length to 200 mm, have different requirements, please contact!


text:
Event Information
Date and Time
Link will be sent to your email upon reservation confirmation
These events will be held along the weekend.
Depending on ticket reservation (at least 3); we will be able to have live sessions about languages.
A fair way would be to do one hour for each leasson.
I strongly encourage people to take the opportunity to come forward with their homeworks, mock exam practice...
Otherwise, we will just have a normal practice session.
I would expect you to have a basic knowledge of the language.
How are the sessions run ?
The sessions will be run on the following order:
8PM : English (1 hour)
9PM : Spanish ( 1 hour)
10PM : Portuguese ( 1 hour)
11PM : Last session French( 1 hour)
Are there ID or minimum age requirements to enter the event?
Minors please get your parents permission, or attend the session with adult family members ( 6 - 14 years old)
What can I bring into the event?
PDF files, notebooks, pens in order to write what you will learn
How can I contact the organizer with any questions?
Can I update my registration information?
Yes you can .
Is my registration fee or ticket transferrable?
If you cannot attend, you are more than welcome to transfer your spot to someone else.
Is it ok if the name on my ticket or registration doesn't match the person who attends?
It has to match in order to avoid complications or misunderstandings.
What's the refund policy?
Should the event be postponed due to unforseen circumtances, there will be a sent notification to inform you all.
Since it is a FREE event , what you can do is to reserve the next event on the following day( Fridays, Saturdays and Sundays)
Upon finishing the class , please complete the survey for customer satisfaction.
https://pt.surveymonkey.com/r/GF28X2F (Portuguese)
https://www.surveymonkey.com/r/6YKGG9Q ( English)
https://es.surveymonkey.com/r/YTL57RV( Español)
https://fr.surveymonkey.com/r/YT2PXZN ( Français)
Date and Time
Link will be sent to your email upon reservation confirmation


text:
Primary School Website Features
A Simply School Websites solution using our Traditional CMS offers a wealth of features that will allow your school to create an attractive, easy to manage school website that showcases you...
Website Design Options
We know that all schools are not the same! They have different levels of expertise available, different budget priorities and different needs. This is why we offer a number ...
Service and Support
Nothing frustrates us more than receiving indifferent or less than friendly service for goods and services we buy ourselves. This is why we strive to provide our client schools wi...
Website Training
Although your new website management system is easy and intuitive to use and supplied with full supporting documentation, many schools rightly appreciate the value of professionally led...
Quality, Value and Friendly Primary School Website Design
Is your school website looking tired? With Simply School Websites you can take your primary school website design to a new level. We provide a one-stop solution for the design and easy management of a fully featured primary school website.
Benefit from our fifteen years experience in designing award winning primary school websites allied with 30 years experience in primary education. We have a thorough understanding of primary schools' requirements.
Choose our winning combination of quality website design and educational expertise to create a primary school website that will engage your school community, is child and teacher friendly and offers superb value for money.
NEW! Joomla powered website / learning platform solution for schools now available with special introductory offer!
|Vibrant interactive websites
|Easy publishing for teachers
|Pupil collaboration & learning
|Calendars, podcasts & videos
|Photo albums & galleries
|Secure chat & messaging
|Discussions & polls
|Newsletters & documents


text:
BRIDGEHAMPTON, N.Y., Oct. 4, 2013 (GLOBE NEWSWIRE) -- Bridge Bancorp, Inc. (the "Company") (Nasdaq:BDGE), the holding company for The Bridgehampton National Bank (the "Bank"), announced the declaration of a quarterly dividend of $0.23 per share. The dividend will be payable on November 1, 2013 to shareholders of record as of October 18, 2013. The Company continues its trend of uninterrupted dividends.
The Company also announced the suspension of the optional cash purchase feature of its Dividend Reinvestment Program (DRIP) effective immediately after the payment of this quarterly dividend.
Bridge Bancorp, Inc. is a bank holding company engaged in commercial banking and financial services through its wholly owned subsidiary, The Bridgehampton National Bank. Established in 1910, the Bank, with assets of approximately $1.7 billion and a primary market area in Suffolk County, Long Island, operates 23 retail branch locations. Through the branch network and electronic delivery channels, the Bank provides deposit and loan products and financial services to local businesses, consumers and municipalities. Title insurance services are offered through a subsidiary, Bridge Abstract and investments through Bridge Investment Services. The Bridgehampton National Bank continues a rich tradition of involvement in the community by supporting programs and initiatives that promote local business, the environment, education, healthcare, social services and the arts.
CONTACT: Howard H. Nolan Senior Executive Vice President Chief Financial Officer and Corporate Secretary (631) 537-1000, ext. 7255
Source:Bridge Bancorp, Inc.


text:
All News Releases By Date
EPA Administrator signs Memorandum of Understanding with China on Environmental Protection
Release Date: 10/12/2010
Contact Information: Jalil Isa (News Media Only), email@example.com, 202-564-3226, 202-564-4355
WASHINGTON – During her first official visit to China, U.S. Environmental Protection Agency (EPA) Administrator Lisa P. Jackson and Minister of Environmental Protection Zhou Shengxian signed an agreement that formalizes the partnership between the United States and China on environmental protection.
"The United States and China have enjoyed a strong relationship and achieved significant progress in our nearly 30-year partnership on environmental protection. As we celebrate our shared successes, this is a good time for us to also evaluate our collaboration, identify emerging priorities, and sharpen our focus on building a prosperous and healthy future," said EPA Administrator Lisa P. Jackson. "The global environmental community has learned much in the last 30 years, and MEP has many accomplishments worth recognizing. I look forward to enhancing our collaboration and am proud to renew this historic connection today."
Under the MOU, EPA will continue to collaborate with China's Ministry of Environmental Protection (MEP) on the prevention and management of air pollution, water pollution, pollution from persistent organic pollutants and other toxics, hazardous and solid waste, and the development, implementation and enforcement of environmental law.
The MOU, which was a renewal of an MOU that expired in 2008, also provides opportunities distinct from existing agreements on science and technology cooperation and establishes a joint committee that is co-chaired by EPA's administrator and China's environmental protection minister. The joint committee meets every two years, and the next meeting will be hosted by Administrator Jackson in Washington, D.C. on November 16-17, 2010. At the meeting, MEP and EPA officials will review progress made during the last two years and approve work plans for the next two years.
For 30 years, the United States and China have engaged in a wide range of cooperative activities aimed at increasing energy efficiency, reducing emissions of pollutants, toxics, and greenhouse gases, limiting threats to public health caused by pollution, and creating a foundation for long-term environmental sustainability. EPA and MEP have been at the forefront of environmental collaboration and are building on past successes to jointly address current and emerging environmental challenges.
More information about Administrator Jackson's mission in China:
More information about EPA's International Priorities:
Search this collection of releases | or search all news releases
View selected historical press releases from 1970 to 1998 in the EPA History website.


text:
Anywhere in Romania
Unbeatable Price/Quality
Normal size refers to the product as it can be seen in the photo.
For normal this normal size the content is brakdown at the botttom.
This is the minimum number of flowers included, although it can be greater than this.
Larger size contains 50% more flowers than normal size.
It keeps the same design as the smaller sized bouquet, but is made up of 50% or more stems.
If, for example bouquet in size that the photo has 7 roses, 3 lilies and 5 orchids,
Larger size will have 11 roses, 5 Lilyes and 7 orchids, obeying the rule odd number of stems, specific in Romania.
This size contains twice the number of stems of normal size you see in the photo.
The design will be the same, but with a number of at least double stems of flowers.
For example, if the normal size contains 11 roses and 2 lilies, then double will have 23 roses and 4 lilies.
The photo of this product was taken just before delivery to the recipient.
No filters were used for photographic image alterations or any other imaging methods.
We provide delivery of a product looking at least as the one in the photo !
In the normal size, this product includes: 20 purple iris, 25 yellow tulips
Attention! The cake can be delivered only in Bucharest and surrounding areas.
Subscribe to our newsletter!
Thanks for subscribing to our newsletter!
The address is not valid or is already in the database! Click to retry.


text:
A BlankTV Premiere Presentation:
Teamster - "Die Well"
Artist Bio:
Teamster is a hardcore band based in Washington DC. The band formed in late 2011 and has been raging since, dedicated to a fierce and pummeling brand of hardcore, not for the weak. Drawing inspiration from east coast US styles like the NYHC sound of Sick of it All and Madball, to the early midwest hardcore bands like Negative Approach and The Fix, Teamster seldom lets up. After initially forming with Rich Dolinger on second guitar and then recording an album with Hector Moncada (NYC's Show of Force and one time touring member of Cro Mags) on lead guitar, the band settled into it's current four piece line-up.
Drummer Sean Saley is a first wave veteran of hardcore, having played in bands like Government Issue from DC and Starvation Army and The Guns, both from Cleveland,during the 80s. He also spent three years with legendary doom metal band Pentagram and currently also drums for heavy giants The Skull (ex-Trouble.)
Singer Jon Moran has been involved in scenes from Buffalo to DC, has fronted numerous bands such as Fit for Duty and also currently sings for Victory in Death. Guitarist Nam Dong and bassist Juston Reynolds are longtime friends, having grown up in the DC scene and collaborating in former bands like Eastwind.
Teamster has been playing around the east coast, midwest, and mid-Atlantic states since forming, recording it's first demo in 2012 with Ken Olden (Youth of Today, Worlds Collide) at the desk. Two tracks from those sessions were released as a split 7" with Buffalo band Source of Relapse. In 2014, Teamster recorded seven tracks with Mike Hatalak (It Dies Today, Wreckage) engineering. The 2014 and 2012 demos were released as a full length self-titled CD in late 2014. The CD is available through Downgrade Records.
>> Get music by Teamster from Downgrade Records NOW! <<
|< Prev
|Next >


text:
posted by Thom Holwerda on Wed 9th Jan 2008 10:19 UTC, submitted by Oliver
DesktopBSD 1.6 has been released. These are the most notable features introduced: "FreeBSD 6 as a modern and reliable base system. X.Org release 7.3, improving support for modern graphics hardware. Live CD/DVD feature for testing the system without installation to a hard-drive. Revised installer supporting upgrades from 1.0 and previous 1.6 release candidates. Improved package manager usability and performance. Many enhancements and bugfixes for the DesktopBSD tools. Support for multiple processors and multi-core CPUs. Inclusion of the NVIDIA graphics driver for hardware 3D rendering. DesktopBSD build servers as an up-to-date source for precompiled packages" Download.


text:
2011-04-14 / Columns
Sifting Through the Sands of Time
BASEBALL LEAGUE SCHEDULE FOR 1930 OF THE LOCAL HIGH SCHOOLS Carmel, While Handicapped at Present, Will Have Good Field on New School Grounds.
The full version of this story is available only to subscribers. Subscribe now to access to full versions of news stories in our archive of over 12,000 stories going back to 1999.


text:
Hawaii Logo Designs
60 Minute Logo is a logo design company as local as your computer. While we do not have a physical office in Hawaii, our internet direct logo
Call us today at 1-877-280-5520 for a free logo consultation, or view our logo design portfolio and see why we are the right choice for your logo
Our logo designers craft a logo design that tells your story and connects with your customers.
We are a small studio of designers passionate about logo design. At 60 Minute Logo you work directly with the senior level designers who create your logo. No CSRs or offshore designers
For over 20 years our logo designers have helped to create business building brands for businesses of all sizes, from one man shops to the fortune 50.
Your business may be located in Honolulu, Hilo
"Congratulations! Logo # 8 is the perfect one. It represent everything I'm looking for. I documented it on the form. I love the colors! I'm excited about your commitment to excellence and would like to see the same attack on creating a custom design for a business card, letterhead and envelope."
Frank Berry, Jr.
Berry Music Factory
Decatur, Alabama
Link with us I Resources
© Copyright 1985-2005 Commerce Venture Group, LLC310.356.6509 or 877.280.5520


text:
Who: Anne Hathaway
Where: Visiting a friend in Beverly Hills
Diagnosis: Cognitive dissociation. Hathaway appears to have no idea that the size of her legs is not, in fact, relative to the size of these giant pants.
RELATED PHOTOS: Vote on questionable star style in "Obsessed or Hot Mess?"
Prognosis: Fortunately this is a very easy fix. With one quick incision (up one leg and down the other of this particular pair) and an immediate transfusion (of cute, slim-fit jeans or distressed denim shorts), Hathaway will be feeling better in no time. We, on the other hand, may need a little while to recover.
–Alex Apatoff
Tell us: Do you agree, or does she look perfect?


text:
Views: 544
I think that there should be no competition for being a top member. There is no point in heaping replies on replies. I am a bit distressed to add that this seems to be actually happening sometimes. Every member participating in a discussion should ensure that his reply is relevant to the subject and is of substance.
I happened to discover myself as top member about twice and I was surprised myself. I guess my blog posts were the main reason.
What exactly would you do with the distinction of being the 'top member'? Is this a talent contest? I joined to share ideas and converse with other open minded people. Competing for top member of an atheist forum seems to trivialize the site. Ever been to a church of any denomination and see how easy it is to pick out the preachers pets? You know, the ones in the front row with the best suits and the sanctimonious grins who only speak to, or respond to, those top members who are worthy of their acknowledgement? If Atheist Nexus is just another congregation of tiers then perhaps I came to the wrong place.
What exactly would you do with the distinction of being the 'top member'?
It was not my intention, it was an unexpected surprise. But I appreciated the notoriety, because my main reason to join AN is my search for a likeminded partner.
"my main reason to join AN is my search for a likeminded partner."
Seems this is a matchmaking site too!
AN has a group 'Atheist Singles' with 1084 members......
Let's not say likeminded. Let's say unlikeminded atheists. I want to see differences among us. It is necessary for my war. To me for you too. Every citizen of every country has different points of views. I need different point of views. A part of yours may be. Not others' yet. They seem flat minded.
If you want to see differences among us then we here at AN gurantee you full satisfaction! Join us and add to our differences.
I love it! The real point is community. Every time something becomes competative some of the original purpose is lost.
I'm happy just to be a part of it.
© 2018 Atheist Nexus. All rights reserved. Admin: The Nexus Group. Powered by


text:
Trademark Carla Martell "Christmas Party Cat" Art, White Matte W/Black Frame, 11" x 11"
Item #: 901-1445366TMG
Model #: ALI0506-B1111MF
Brand: Trademark
Not yet rated.Be the first to Write a Review!
$32.99 Each
Delivery Date:
Enter Zip CodeParcel
Help with furniture delivery, assembly,...Read more + Read less -
protection plans and more.
Plus, you've got choices! You'll find options for those DIYers on a budget, those that want us to do all the work and everyone in-between. Want all the details? Get them right here.
Trademark "Christmas Party Cat" Black framed art measuring 11" x 11" with an attractive design/beautiful white matte finish adds elegance to your wall and is created by Carla Martell. Trademark "Christmas Party Cat" Black framed art by Carla Martell has a ready-to-hang frame with a protective clear acrylic face. 11" x 11" Graphic illustration art with white matte finish includes a beautiful giclee printed design.
- 11" x 11"
- White matte with black frame
- Christmas Party Cat matted framed art
- Carla Martell
- Subject: Children's art
- Style: Graphic illustration
- Format: Square
- Material: Canvas, acrylic
- Print size: 7" x 7"
- Print medium: Giclee
- Ready to hang
- Fully assembled
- Features two kids riding a bike downhill
- Mat allows the image to really stand out, making it a great addition to any space
- Christmas Party Cat matted framed art
|Art Material : Framed Art
|Art Type : Framed Art
|Art Subject : Christmas Party Cat
|Framed : Acrylic
|Display Covering Material : Canvas
|Brand : Trademark
|Customizable : No
|Weight : 3.00 lbs. per Each


text:
Selena Gomez: Nail Salon Stop After UNICEF Concert Announcement
Selena Gomez stops in at a local nail salon for a mani-pedi on Wednesday afternoon (January 2) in Encino, Calif.
The 20-year-old actress just announced the lineup for her upcoming UNICEF concert in New York City, which will take place at the Best Buy Theater in Times Square on January 19th.
"Please welcome the following to the line up of my UNICEF acoustic charity show in NY on Jan. 19th @bridgitmendler and @only1noah," she tweeted.
"Nothing is more important than helping children in need around the globe. I'm thankful that I can use my voice to bring awareness and much-needed funds to UNICEF so they can continue their critical work. Together, with my fans, we can save lives," Selena shared in a statement.
To check out more pics of Selena, head on over to Starfeine!
Posted to: Selena Gomez


text:
Next season, the Orlando Philharmonic Orchestra will offer two operas, welcome back Andrew Lane and Michael Andrew, collaborate with Orlando Shakespeare Theater and turn its attention to Broadway.
And hang on to your programs: The Phil will also feature circus acts for one show.
Such are the varied highlights of the Orlando Philharmonic's upcoming 20th season, announced Wednesday at an event for season subscribers at Full Sail University.
The Philharmonic assumed responsibility for opera production after Orlando Opera's demise in 2009 and presents them with the orchestra on stage, putting an emphasis on the music. An opera task force convened by the...


text:
Come to think of it, other papal elections in the past century have led to dramatic changes in the life of Catholics and therefore in the Church.
When Cardinal Angelo Giovanni Roncalli, the patriarch of Venice, was chosen to succeed the then universally venerated Pope Pius XII in the fall of 1958, most Catholics probably assumed that it would be business as usual. It was not. In a short papal reign of less than five years, Blessed John XXIII revolutionized not only the Roman Catholic Church but Christianity itself.
His successor, Pope Paul VI, came into office as many wondered if he would embrace the Second Vatican Council and implement its decisions. He did both. The plight of Paul VI, a good, holy, highly cultured and visionary man, was to preside at a time when Western society was undergoing profound change. The Sexual Revolution was attaining its full strength. Along with North America, Western Europe was achieving a prosperity that sowed the seeds of the profit madness now so much a feature of economics. Eastern Europe, China, Indochina and then Cuba lay in the hopelessness and godlessness of Marxism. The great colonial possessions of the once-unquestioned European empires were gnawing at the bit.
Paul VI's approach to all these features was a mighty endeavor. He changed the Roman liturgy in ways never imagined, and in retrospect the change was abrupt. He powerfully addressed economic imperialism and befriended the poor and weak. In his eagerness to recognize and favor the new free societies of Africa and Asia, he set the Church firmly into the soil of these emerging states, and by doing so began a process that has come to be in many instances the hope of the Catholic future.
Pope John Paul I, a lovable and gentle man, came and went too quickly in 1978. Following him was the larger than life figure of Blessed John Paul II, whose reign was long, 26 years. With his own significant contribution, Communism passed from the scene in Europe — without bloodshed. He worked to calm tensions with outreach to Muslims, strengthened ties with Jews, and he called the Orthodox to Christian reunion. A masterful communicator, he thrilled millions around the world, literally. He humanized both his office and the Church. His writings are theological jewels.
Then came Pope Benedict XVI, whose contribution to the Church as far as his papacy is concerned likely will be the written products of his extraordinary learning and, never to be underestimated, his personal asceticism. God has been with the Church.
Now has come Pope Francis. Now, four months after the election of the Argentinian primate, the Jesuit Cardinal Jorge Mario Bergoglio, to Peter's place in the Church as Pope Francis, Catholic journals and many a priestly conversation are filled with speculation. What will the new papal reign mean?
For one thing, it will mean that the Church's leadership at the highest level had no intimate involvement with the Second Vatican Council, as had John XXIII, Paul VI, John Paul I, John Paul II, and Benedict XVI. Pope Francis is not so young, however, that he cannot remember the council. The council would have been the major focus of his years in formation as a Religious and as a priest in Argentina. It affected his formation. It brought changes in the ways that he was accustomed to pray and in the perspectives of the Church and of its response to the world that he had learned from his elders.
He grew to maturity in a new world and Church. His immediate predecessors lived through World War II and the unimaginable agony that it brought to Europe.
Neutral until the last days of that war, literally, Argentina was spared that agony. Pope Francis was reared, however, hearing the stories of fascism in Italy, and he came into adulthood watching the Peronist hysteria unfold in his own country. Generally forgotten is the fact that Juan Peron's downfall came when he tangled with the Church, setting one Argentinian against another precisely in terms of the catholicity that so deeply infused Argentine life. Young Bergoglio certainly had to think.
His earliest years as a priest saw a military dictatorship in Argentina, and he witnessed, and obliquely was a part of, the controversial reaction of Church leaders to it all. He again had to think.
He came into priestly and episcopal maturity amid the surge of pastoral care, and violent excesses on the part of some, on the part of Latin American bishops and priests, amid poverty in South America, a poverty at least overwhelmingly assumed to result from greed in European and North American business.
He inherits the piety of his Italian forebears and of his fellow Argentinians. He holds a doctorate in theology, acquired in the restless, but also fruitful, days of theological reflection during and after the council. He has been a Religious superior, the archbishop of a major, quite cosmopolitan archdiocese, and primate of a national Church that for long centuries has dominated the culture.
Very importantly, critically, profoundly, blessedly, Pope Francis obviously is a disciple of the Lord in the most basic understanding of the term. Read his addresses and comments, now so abundantly available, thanks to the Internet and the media. For priests, his homily at the Chrism Mass just days after his election, and his instructions to the new priests whom he ordained a few weeks later, are inspiring.
How will his papacy develop? What effect will he have upon the Church and upon the way in which Catholics live their spiritual lives? It remains to be seen. Predicting the future of this pontifical reign is foolish. For starters, no one knows what factors suddenly will come to bear.
Look to the future with hope but also with excitement. God is with the Church.
Two recollections from those days at the conclave last March in Rome inspire me. The first is the faith of people. We priests are so privileged in our positions of nourishing and refreshing that faith. (My article later in this edition looks at this point.)
The second recollection is of the national leaders who attended the inaugural of the reign of Pope Francis on March 19 in their official capacities. Four kings, four queens, 32 presidents, two governors-general, three crown princes, three vice presidents and nine prime ministers came to Rome at their own accord. This is important. In each case, a sovereign government made a conscious decision, and went to the effort, to see that a figure of the highest rank represent it that day in Rome.
What does this say? The Church, despite all that has dirtied its image, despite all the indifference to religion in the world, enjoys enormous prestige. It occupies a place in world civilization that is unequaled.
After the ceremony itself, the new pontiff received these national leaders. He knows how to reach people, and people respond.
The queen of Belgium gently patted his hand, as if she were reassuring a pastor or an old friend. I suspect that they seldom, if ever, had met each other before. Bypassing altogether the etiquette for such occasions, the president of Ecuador embraced the pope.
The countenances of the grand duke and grand duchess of Luxembourg literally beamed as the Pope spoke with them. The grand duke took his wife's hand, a rather intimate action for royalty and under the circumstances. Did the pope compliment their solid Catholicism in their marriage and in all that they display to their people in their lives? I would not be surprised.
The Church is fortunate in the new pope's personality, and in his eagerness to encounter people, whether queens or the homeless. Thanks be to God. He draws people to him.
God has given the Church great leaders in this last century or so. His gift continues. TP
Msgr. Campion is editor of The Priest and associate publisher of Our Sunday Visitor. He is a former president of the Catholic Press Association and the Vatican's ecclesiastical adviser for the International Catholic Union of the Press.
Copyright © 1996-2018 Our Sunday Visitor, Inc.


text:
Prank Of The Week: Hand Skill Game (Why You Should Never Play A Game With Your Eyes Closed)
Man makes his friend feel stupid
Please click the "Report" button below if the video on this page is not working properly.
Comments will only be displayed by verified emails. No Spamming or Racism.


text:
Crime Information
Public Alerts
LA County & Justice Community
External Links
> PITCHESS DETENTION N facility
> Event Detail
Translation [English]
LASD Home
Contact Us
Search Sheriff's Website
Information Detail
Female Inmates Celebrate Graduation Behind Bars
La Opinion (Original Source)
English Translation:
Female Inmates Celebrate Graduation Behind Bars
Female Inmates from Century Regional Detention Center in Lynwood, finalize their studies and look toward a brighter future Under maximum security, and without the presence of relatives or friends, 85 inmates from the CenturyRegional Detention Center yesterday lived a very special moment in their lives: graduated from MERIT educational program. Most of them are in prison for crimes related to drug addiction and yesterday enjoyed a moment of joy and very special pride, they received certificates that credit them with learning techniques such as baking, sewing, painting, computer specialties, and other personal skills such as parenting and anger management. One of the more satisfied with her achievement was Adriana Montiel, who is serving a sentence of 13 years in prison. She, along with Helen Salmeron, were the only ones who earned their GED high school diploma. "This achievement is dedicated to my father because he always dreamed of me getting an education. He is a teacher, and I know he would be proud of me", said Montiel, 25-years old, who despite completing just one year of her sentence, sees things with optimism because she had initially been sentenced to life in prison, since her crime was drug-related."When I came here, my life was nothing more than a living hell, I felt helpless. But now my life has changed. I'm going to leave here with a degree, "said the young woman, mother of a 4-year-old little girl, who now lives with her grandparents in Veracruz, Mexico." I'm alone here. I made mistakes, but I'm going to move forward. This program has changed my life", she said. The spirit of recovery could be felt during the ceremony attended by prominent authorities of the Los Angeles County Sheriff's Department, such as Lee Baca.
"Here they are taught basic skills such as how to value themselves and have a good relationship with their families and their children", explained Deputy Reynoso, who has worked at the detention center in the program for two years. "I didn't know how to communicate with other people. Now I appreciate my family, my children and I know when I leave here I can be useful to the community," said Laura Uribe, a woman age 32, who was jailed on charges of drug trafficking. "One makes mistakes in life. But that doesn't mean you're a bad person and that you can have a new beginning," said Uribe, who hopes to leave the prison in September of next year. Karla Galindo, Director of LA Works, the Organization leading the program Education Based Incarceration (EBI) in this detention center, said that this program gives these women, "a new chance of life".
Contact Information: Public Information Officer - 661-295-8840, email@example.com
The LASD.org® website has made reasonable efforts to provide an accurate translation. However, no automated or computerized translation is perfect and is not intended to replace human or traditional translation methods. The official text is the English version of LASD.org® website. If any questions arise concerning the accuracy of the information presented by the translated version of the website, please refer to the English edition of the website, which is the official version.
LASD Home
lacounty.gov Home
LASD FAQ's
Privacy Policy
ADA Accessibility
© Copyright 2014 . LASD. All Rights Reserved LASD Badge and Patch are Registered Trademarks.


text:
Five Rotation Mode – 10 Frequency Vibration – Waterproof – Mute – Safe
Specifications: 10 Speed
Size: App 23.8(L) x 3.5 (W)cm
Colour: Pink, Blue
Material: ABS, Silicone
Gender: Female
Battery: 4 x AAAbattery (not included)
Package include:
1 * Vibrator
1.Please use it in safe, sober and unforced condition
2.All items are brand new,but we still strongly advise you to wash or clean the item before wearing or using it for health reasons.
3.Personal items will not be returned
How to use:
1.Install the correct battery!(Notice:The battery cathode must convex and the correct electrode.)
2.Press the button to open the bullet.
Because of different display could have off color, so the product color in kind prevail, pictures for reference only.


text:
RUTHERFORD, N.J. – Felician College senior Aaron Brill (West Palm Beach, Fla./John I. Leonard) has been named the 2014 Central Atlantic Collegiate Conference (CACC) Baseball Player of the Year, and Felician junior Jerry Vasto (Atlantic Highlands, N.J./Henry Hudson Regional) was elected the 2014 CACC Pitcher of the Year according to balloting released on Tuesday.
The 11 conference head coaches voted for the CACC Player and Pitcher of the Year winners. Brill, Vasto, and the 2014 All-CACC Team members and other special award winners will be formally honored Wednesday night at the annual league awards banquet, to be held on the campus of Wilmington (Del.) University.
Felician completed the 2014 regular season with a won-lost record of 26-18, and placed second in the CACC with a 15-5 league mark. Eleventh-year head coach Chris Langan and the Golden Falcons are the No. 2 seed in the conference tournament that begins on Thursday morning in New Castle, Del.
Brill, a 6-foot, 200-pound shortstop, is the second CACC Player of the Year from Felician in the 15-year history of the Golden Falcon program. He joins Frank Quintana, who earned the honor in 2007. As Felician's No. 2 hitter in the line-up, Brill leads all NCAA Division II players nationally with a school-record 11 triples, and he also tops the CACC in hits (67) and slugging percentage (.570). In 44 games, he is batting .374 with a home run, 39 runs scored, 31 runs batted in, and 12 stolen bases. He played errorless defense at shortstop in the 20 conference games this season.
"For two years, coaches around the league have told me how much Aaron stands out on the field," Langan said. "He's very unselfish – he will take a ball the other way, give himself up to advance a runner, and is willing to take what the pitcher gives him. And he takes a tremendous amount of pride in his defense, working at it every day."
Brill has 137 base hits in two years at Felician, and 206 for his combined collegiate career. He is a two-time first-team all-CACC selection, and was an ABCA all-region pick last year. Brill is a 2009 graduate of John I. Leonard High of Greenacres, Fla.
Vasto is Felician's first-ever CACC Pitcher of the Year. In 13 games (10 starts), he has a 6-2 record and one save, and sits second in the CACC in both earned-run average (1.46) and strikeouts (68). His ERA is good for 15th-place nationally entering the postseason. In 61 2/3 innings, he has pitched to an opponent batting average of .202. He is riding a 22-inning scoreless streak, which began with a three-hit shutout against nationally-ranked Wilmington on Apr. 14.
"Jerry has improved every year," Langan said. "He's made a 10 mile-per-hour jump in his velocity since high school, and his mound presence has never been better. He's fought through some difficult times, and trusts his stuff like never before."
Vasto was voted to the All-CACC team for the first time. He has a 10-5 career record at Felician, and his 148 strikeouts are sixth on the Golden Falcons' all-time list. He is a 2010 graduate of Henry Hudson Regional of Highlands.
The complete 2014 All-CACC Teams and special award winners can be viewed at http://www.caccathletics.org/sports/bsb/2013-14/releases/20140506-caccbaseballallconference.


text:
Cyberwar Or Moral Panic? Beware Of Ex-Politicians Screaming About Cyberthreats
from the let-it-go dept
We need to re-engineer the Internet to make attribution, geo-location, intelligence analysis and impact assessment -- who did it, from where, why and what was the result -- more manageableIn other words, we need to be able to spy on everyone. To build up this moral panic, McConnell isn't even just getting the press to write articles for him -- he's doing it himself. The Washington Post recently gave him op-ed space to ridiculously claim that the recent hack on Google showed we're "losing the cyberwar." Yet, as Singel points out, that was entirely different. It wasn't warfare, it was espionage. McConnell also played up some bogus threats, such as some old viruses and botnets that are hardly part of some dangerous "cyberwar."
Singel then goes on to connect McConnell's efforts with various other political proposals lately -- suggesting that the government is moving towards more control of the internet and more monitoring. At times, unfortunately, the piece feels like it slips a bit into conspiracy theory territory -- but McConnell's efforts certainly appear questionable. He's pushing a bogus "threat" and he works for a company that could profit tremendously from any "response" to such a threat. That seems like a massive conflict of interest that a lot of people are ignoring.


text:
East #55: Elizabeth and Kevin's Cool Shades
Name: Elizabeth and Kevin
Location: Philadelphia, PA
Type of Home: house
What inspired you to use color? Kevin and I wanted to create a bright and airy space, so we went with cool shades of grays and blues for the walls throughout the house. Being our first home together, it was important to me that the colors reflected both of our personalities as well - too girly would not have pleased Kevin, too masculine would not have pleased me...
The wall colors we chose work for both of us, and then we were able to bring boldness to the spaces with our choices in accessories. Again, cooler tones like turquoise, green and yellow prevail, but with an occasional pop of fuchsia and lilac (because I can't help myself!)
Color Tip: If you have a smallish space, try to work within a single color family to create cohesiveness. Or choose a signature color (such as the turquoise in our house) to create a continuous theme from room to room.
Fall Colors Introduction -------------------------------
Welcome, everyone, to our Fourth Annual Fall Colors Sharing & Contest. We're looking for the most beautiful & colorful home in the world and sharing all of the great ideas we get with our readers. This year we're amping things up and hoping to do things better than ever. There are two basic phases, the Sharing Phase and the Voting Phase...
1. Sharing Phase - you comment, judges decide
The 40 best, completed entries will be posted on a daily basis for three weeks. You can view them all at anytime via our new, improved contest pages under ALL ENTRIES. During this time your comments are VERY IMPORTANT as our six judges will be choosing 16 finalists from each region based on comments and their own colorful opinion.
2. Voting Phase - you vote till you drop
Starting October 20th, finalist voting will begin on a daily basis through our new bracketed voting system, which will pit our 16 finalists against one another until only one remains. Sound exciting? We hope so.
Best, Maxwell


text:
Desarrollar software - 08/11/2016 16:29 EST -- 2
Budget $250-750 USD
Desarrollar modulos adicionales de un sistema ya echo con tecnologia java y almacenamiento en postgres.
13 freelancers are bidding on average $622 for this job
Hello, I understood the initial scope of this project. Although i want to discuss further this job in order to prepare the final concept for this project. After Complete discussion over the call or in chat, i wi More
Hi there! I have read what you exactly need, however I would like to ask you a few questions. I wouldn't call myself a master but I do work smart and do not rest until I get the job done. Please feel free to ping me an More
Hello ! We want to discuss about your project as we have experience in it. What Differentiates us from the other freelancers : # Experience of more than 5 years in Unity 3D, Xcode, CoCoa 2d, Phonegap and major More
yes, let's clarify the requirement in details also if you want us to share our skill and previous work let us know.. hope to hear you soon.. Thanks & Regards PROMITI
VB5, VB6, VB, VB.NET 2015, ASP.NET, MVC, WPF, XML, MSSQL 2014, HTML & CSS3 programmer. I have experience about 20 years (32,000+ hours) in programming complex database application as well as Windows Desktop and Server/ More
In the bid amount, I shall provide website, android application, ios application with1 year complementary support . Thanks Yatin
Hi John here, I am really interested to work on this project, I can start the work now , and can provide the best services from my end. Please come on chat to discuss more about the project. Thanks!
Hola, Propongo los siguientes pasos, para ejecutar el plan de acción del proyecto. Cualquier pregunta, contactenme. Saludos,
Buen día, Veo que tu país es Ecuador, imagino que te sentirás mas cómodo hablando español para definir los requerimientos. Quiero hacerte una propuesta, Soy programador desde hace mas de 6 años, me he especializado More


text:
- Real Road Simulation (RRS) technology provides up to 2000 watts of quiet, smooth, progressive resistance
- TurboTron 70mm alloy roller with internal cooling fins reduces heat build up and prolongs tire life
- F4 fluid formed alloy frame provides incredible stiffness
- Dial-adjust anti-skid feet keep your trainer stable and your floors clean
- Accommodates most wheel from 24" to 29"
- 7.5lb flywheel for improved road feel
REVIEW SNAPSHOT®by PowerReviews
Best Uses
Reviewed by 2 customers
Sort by
Displaying reviews 1-2
Best Uses
I was looking for a new fluid trainer that was quieter, more stable, and had more resistance than my old one. The Giant Cyclotron Fluid was exactly what I was looking for. I'm a very strong cyclist and could only muster 47 RPM in my bike's hardest gear in a one minute all out effort. Time to get strong!
Best Uses
I just purchased this trainer and really like it. For a trainer it is very quiet and really easy to attach my Trek 7.3 too. It is very sturdy and easy to use. The resistance and overall feel of it turns into a great workout. I use it for an hour or two everyday and fits perfectly in the living room so I can watch some T.V shows or even a movie. I have my wife to thank for this Trainer as a gift. Very good for keeping in shape or getting back into shape in the winter months. Gets a 5 star rating from me.
Displaying reviews 1-2
Previous | Next


text:
Apollo 1.7.1 User Manual
- Creating a Broker
- Broker Configuration
- Automatic Configuration Reloading
- Adjusting JVM Settings
- Understanding the
- Support Platforms
- Security
- Working Around Java 7 SSL Bugs
- Web Based Administration
- Managing Brokers
- Messaging Protocols Manuals
Creating a Broker
A broker instance is the directory containing all the configuration and runtime data such as logs and data files associated with a broker process. It is recommended that you do not create the instance directory under the directory where the Apollo distribution is installed.
On unix systems, it is a common convention to store this kind of runtime data
under the
/var/lib directory. For example, to create an instance at
'/var/lib/mybroker', run:
cd /var/lib
apollo create mybroker
A broker instance directory will contain the following sub directories:
bin: holds execution scripts associated with this instance.
etc: hold the instance configuration files
data: holds the data files used for storing persistent messages
log: holds rotating log files
tmp: holds temporary files that are safe to delete between broker runs
At this point you may want to adjust the default configuration located in etc directory.
Broker Configuration
Each broker instance can be tuned and configured by editing one of the following files.
bin/apollo-broker: You can update the start script to control JVM level configuration options like JVM memory sizing.
etc/apollo.xml: The primary configuration file for the broker. It controls the opened ports, the queues, security, virtual host settings and more.
etc/log4j.properties: This is a standard log4j configuration file which controls the broker's logging.
etc/keystore: A Java key store used to hold cryptographic security keys and certificates. It is only need for brokers using SSL.
etc/login.conf: A standard JAAS [login.conf] configuration file used to define the JAAS authentication domains available to the broker.
etc/users.properties: Holds userid/password mappings of users that can access the broker. Referenced by the
etc/groups.properties: Holds groups to users mappings so that you can simplify access control lists (ACL) by using group instead listing individual users.
black-list.txt: A list of IP address which are banned from connecting to the broker.
Automatic Configuration Reloading
Once a broker is started, you can edit any of the configuration files in
etc directory and your changes will be automatically reloaded. The
configuration update will be applied in the least non-disruptive way possible.
For example, if you removed a connector, the port that connector was listening
on will be released and no new connections will be accepted. Connections that
were previously accepted by that connector will continue to operate normally.
Adjusting JVM Settings
You can define the following environment variables in the
start script to customize the JVM settings:
JAVACMD: The path to the java executable to use
JVM_FLAGS: The first JVM flags passed. Defaults to
-server -Xmx1G, you may want to lower or raise the maximum memory based on your actual usage.
APOLLO_OPTS: Additional JVM options you can add
APOLLO_DEBUG: Set to true to enabled debugging on port 5005
APOLLO_PROFILE: Set to true to YourKit based profiling
JMX_OPTS: The JMX JVM options used, defaults to -Dcom.sun.management.jmxremote
Make sure you define the variables before the
apollo-broker script
apollo and that the variables get exported in the case of the
unix script.
Understanding the
apollo.xml File
There are many XSD aware XML editors which make editing XML configuration files less error prone. If you're using one of these editors, you can configure it to use this apollo.xsd file.
The simplest valid
apollo.xml defines a single virtual host and a
single connector.
<broker xmlns="http://activemq.apache.org/schema/activemq/apollo">
<virtual_host id="default">
<connector id="tcp" bind="tcp://0.0.0.0:61613"/>
The broker, virtual host, and connector are assigned an id which which
is used to by the REST based administration console to identify
the corresponding runtime resource. The virtual host will not persist
any messages sent to it since it is using the
Brokers can be configured with multiple virtual hosts and connectors.
When a broker is first started up, it will validate the configuration
file against the the XSD Schema and report any
errors/warnings it finds but it will continue to start the broker even
it finds problems. You would want to the broker to abort starting up
if any issues are found with the schema validation you should set
broker element's
validation attribute to
strict. Example:
<broker validation="strict"
If you would like the broker to automatically trigger a Java
heap garbage collection (GC) cycle periodically, add a
element within the
broker element. GC cycles will automatically
kick in when they are needed, but if your monitoring broker
heap usage with an external monitoring tool, then periodically
forcing a GC cycle might be nice since then your monitoring
tool can more accurate track actual heap usage. Set the
attribute of the
auto_gc to the number of seconds between
forced GC cycles. If interval is not set, it will default to 30.
<auto_gc interval="10">
A broker connector is used to accept new connections to the broker.
connector element can be configured with the following attributes
enabled: if set to false, then the connector host will be disabled.
bind: The transport that the connector will listen on, it includes the ip address and port that it will bind to. Transports are specified using a URI syntax.
connection_limit: The maximum number of concurrently open connections this connector will accept before it stops accepting additional connections. If not set, then there is no limit.
protocol: Defaults to
anywhich means that any of the broker's supported protocols can connect via this transport.
receive_buffer_size_auto_tune: Sets whether or not to auto tune the internal socket receive buffer (aka the socket's SO_RCVBUF). Auto tuning happens every 1 second. Default is true
send_buffer_size_auto_tune: Sets whether or not to auto tune the internal socket send buffer (aka the socket's SO_SNDBUF). Auto tuning happens every 1 second. Default is true
By default, the broker will 'auto-tune' a connector's transports to be between
'64k' and '2k' based on the max number of connections established against the
broker in the last 5 minutes and the size of the JVM heap. Set
send_buffer_size_auto_tune to false to disable this auto tuning.
Furthermore, the connector element may contain protocol specific
configuration elements. For example, to have the broker set the
header of messages to the id of user that sent the message, you would
use the following configuration:
<connector id="tcp" bind="tcp://0.0.0.0:61613">
<stomp add_user_header="user_id"/>
If you're using the
any protocol then actual protocol being used will be
detected by examining the client's initial request. You can use the
detect element within a
connector element to configure the protocol
detection settings. The
detect element supports the following
timeout: maximum amount of time (in milliseconds) that protocol detection is allowed to take. Defaults to 5000 milliseconds. If a client does not send an initial request before the timeout expires, the connection is closed.
Example of how to set the protocol detection timeout to 30 seconds:
<connector id="tcp" bind="tcp://0.0.0.0:61613">
<detect timeout="30000"/>
TCP Transports
The TCP transport uses the
tcp:// URI scheme. It uses the URI host
and port to determine to which local interfaces to bind. For example:
tcp://0.0.0.0:61613binds to all IPv4 interfaces on port 61613
tcp://[::]:61613binds to all IPv4 and IPv6 interfaces on port 61613
tcp://127.0.0.1:0binds to the loopback interface on a dynamic port
The TCP URI also supports several query parameters to fine tune the settings used on the socket at the time of creation. The supported parameters are:
backlog: Sets the listen backlog size. Defaults to 100.
keep_alive: Enable or disable the SO_KEEPALIVE socket option
(aka setting the socket's SO_KEEPALIVE). Defaults to true.
traffic_class: Sets traffic class or type-of-service octet in the IP header for packets sent from the transport (aka setting the socket's IP_TOS).
Defaults to
8which means the traffic should be optimized for throughput.
max_read_rate: Sets the maximum bytes per second that this transport will receive data at. This setting throttles reads so that the rate is not exceeded. Defaults to 0 which disables throttling.
max_write_rate: Sets the maximum bytes per second that this transport will send data at. This setting throttles writes so that the rate is not exceeded. Defaults to 0 which disables throttling.
receive_buffer_size: Sets the initial size of the internal socket receive buffer (aka setting the socket's SO_RCVBUF)
send_buffer_size: Sets the initial size of the internal socket send buffer (aka setting the socket's SO_SNDBUF)
Example which uses a couple of options:
<connector id="tcp" bind="tcp://0.0.0.0:61613?receive_buffer_size=1024&max_read_rate=65536"/>
Note that
& since the
URI is within an XML file. In the URI string, we specify what the buffer sizes
should be when the socket is created, but their values can change if auto-tuning is enabled.
WebSocket Transports
The WebSocket transport uses the
ws:// URI scheme and the secure WebSocket
transport uses the
wss:// URI scheme. Like the TCP transport, this
transport uses the URI host and port to determine to which local interfaces
to bind. For example:
ws://0.0.0.0:61623binds to all IPv4 interfaces on port 61623
ws://[::]:61623binds to all IPv4 and IPv6 interfaces on port 61623
wss://127.0.0.1:0binds to the loopback interface on a dynamic port
The WebSocket URI also supports the following query parameters to fine tune the settings used on the socket:
binary_transfers: Should data be sent to the client as binary blobs. Currently not all browsers support binary WebSocket data. Defaults to false.
cors_origin: Specify cross-origin resource sharing limmitations, including
*all or individual server names
max_text_message_size: Specify the size of text messages that the websocket connector can handle
max_binary_message_size: Specify the size of binary messages that the websocket connector can handle
max_idle_time: timeout limitations of the underlying websocket socket
Example configuraiton:
<connector id="ws" bind="ws://0.0.0.0:61623?binary_transfers=false"/>
One thing worth noting is that web sockets (just as Ajax) implements the same origin policy, so by default you can access only brokers running on the same host as where the web page originated from.
If you want to allow cross origin resource sharing (CORS) of the WebSocket connector,
by different hosts then you should add
cors_origin query parameter to the bind URI with
a common seperated list of domains that are allowed to access the WebSocket
connector. Use
* to allow access from any domain. Example:
<connector id="ws" bind="ws://0.0.0.0:61623?cors_origin=*"/>
WebSocket Clients
You can use one of the following JavaScript libraries to access the broker over WebSockets:
The Apollo distribution include a couple of simple WebSocket based chat example in the following distribution directories:
UDP Transports
The UDP transport uses the
udp:// URI scheme. It uses the URI host
and port to determine to which local interfaces to bind. For example:
udp://0.0.0.0:61615binds to all IPv4 interfaces on port 61615
udp://[::]:61615binds to all IPv4 and IPv6 interfaces on port 61615
udp://127.0.0.1:0binds to the loopback interface on a dynamic port
The UDP transport MUST be configured to use a UDP specific protocol
handler. That is done by setting the
protocol attribute on the
connector element.
<connector id="udp" bind="udp://0.0.0.0:61615" protocol="udp"/>
The supported protocols that can be used with the udp transport are:
udp: Takes the all the data in a received UDP datagram and forwards it as a binary message to a configured topic. This protocol can be configured by nesting a
udpelement within the
connectorelement. The supported options on the
udpelement are:
topic: The name of the topic to send messages. Defaults to
buffer_size: The amount of memory to use to buffer between the socket and topic endpoint. Defaults to
stomp-udp: Expects the received UDP datagram to contain a STOMP frame. The STOMP frame is processed and routed just like any STOMP frame that would be received on a TCP transport. This protocol can be configured by nesting a
stompelement within the
connectorelement. See the Stomp Protocol Options section for more details.
Virtual Hosts
A virtual hosts allows Apollo to support multi tenant style configurations. Each virtual host is highly isolated each with its own persistence, security, and runtime constraints configuration.
Protocols like STOMP 1.1, inform the broker of which host the client is
attempting to connect with. The broker will search its list of virtual hosts
to find the first host who has a configured
host_name that matches.
Protocols which do NOT support virtual hosts, will just connect to the first
virtual host defined in the configuration file.
host_name: a host name that the virtual host is known as. This element should be repeated multiple times if the host has many host names.
virtual_host element may be configured with the following attributes:
enabled: if set to false, then the virtual host will be disabled.
purge_on_startup: if set to true, the persistent state of the broker will be purged when the broker is started up.
virtual_host can also define multiple
queue, and
dsub elements to secure or tune how message delivery works
for different topics or queues. If none are defined, then sensible default
settings are used which allows destinations to be auto created as they get
accessed by applications.
virtual_host configuration should also include a message store
configuration element to enable message persistence on the virtual host.
When a new queue is first created in the broker, its configuration will be
determined by the first
queue element which matches the queue being
created. The attributes matched against are:
id: The name of the queue, you can use wild cards to match multiple or don't set to match all queues.
If the queue definition is not using a wild card in the id, then the queue will be created when the broker first starts up.
queue element may be configured with the following attributes:
mirrored: If set to true, If set to true, then once the queue is created all messages sent to the queue will be mirrored to a topic of the same name and all messages sent to the topic will be mirror to the queue. See the Mirrored Queues documentation for more details. Defaults to false.
tail_buffer: The amount of memory buffer space allocated for holding freshly enqueued message. Defaults to
persistent: If set to false, then the queue will not persistently store its message. Defaults to true.
message_group_graceful_handoff: When set to true, the queue will drain message group consumers of messages before allowing new messages to dispatched to messages groups which have been moved to a different consumer due to re-balancing. Defaults to true.
round_robin: Should the destination dispatch messages to consumers using round robin distribution strategy? Defaults to true. If set to false, then messages will be dispatched to the first attached consumers until those consumers start throttling the broker.
swap: If set to false, then the queue will not swap messages out of memory. Defaults to true.
swap_range_size: The number max number of flushed queue entries to load from the store at a time. Note that Flushed entires are just reference pointers to the actual messages. When not loaded, the batch is referenced as sequence range to conserve memory. Defaults to 10000.
quota: The maximum amount of disk space the queue is allowed to grow to. If set to -1 then there is no limit. You can use settings values like:
1gjust plain byte count like
1024000. Once the quota is Exceeded, the producers will block until the usage decreases. Defaults to no limit.
quota_messages: The maximum number of messages queue is allowed to grow to. If not set then there is no limit. Defaults to no limit.
auto_delete_after: If not set to
0then the queue will automatically delete once there have been no consumers, producers or messages on it for the configured number of seconds. Defaults to 30 if not set.
fast_delivery_rate: The message delivery rate (in bytes/sec) at which
the queue considers the consumers fast enough to start slowing down enqueue rate to match the consumption rate if the consumers are at the tail of the queue. Defaults to
catchup_enqueue_rate: The rate that producers will be throttled to when queue consumers are considered to be fast. This allows consumers to catch up and reach the tail of the queue. If not set, then it is computed to be 1/2 the current consumer delivery rate.
max_enqueue_rate: The maximum enqueue rate of the queue. Producers will be flow controlled once this enqueue rate is reached. If not set then it is disabled
dlq: Is the dead letter queue configured for the destination. A dead letter queue is used for storing messages that failed to get processed by consumers. If not set, then messages that fail to get processed will be dropped. If '*' appears in the name it will be replaced with the queue's id.
nak_limit: Once a message has been nacked the configured number of times the message will be considered to be a poison message and will get moved to the dead letter queue if that's configured or dropped. If set to less than one, then the message will never be considered to be a poison message. Defaults to zero.
dlq_expired: Should expired messages be sent to the dead letter queue?
Defaults to false.
full_policy: Once the queue is full, the
full_policycontrols how the queue behaves when additional messages attempt to be enqueued onto the queue.
You can set it to one of the following options:
block: The producer blocks until some space frees up.
drop tail: Drops the new messages being enqueued on the queue.
drop head: Drops old messages at the front of the queue.
If the queue is persistent then it is considered full when the max quota size is reached. If the queue is not persistent then the queue is considered full once its
tail_bufferfills up. Defaults to 'block' if not specified.
Example configuraiton:
<virtual_host id="default">
<queue id="app1.**" dlq="dlq.*" nak_limit="3" auto_delete_after="0"/>
When a new topic is first created in the broker, its configuration will be
determined by the first
topic element which matches the topic being
created. The attributes matched against are:
id: The name of the topic, you can use wild cards to match against multiple or don't set to match all topics.
If the topic definition is not using a wild card in the id, then the topic will be created when the broker first starts up.
topic element may be configured with the following attributes:
slow_consumer_policy: Valid values are
queue. Defaults to
block. This setting defines how topic subscriptions are handled which affects slow consumer scenarios. If set to
queuethen each subscription gets a temporary queue which can swap messages to disk when you have a slow consumer so that produces do not slow down to the speed of the slowest consumer. If set to
block, the producers block on slow consumers which makes producers only as fast as the slowest consumer on the topic.
auto_delete_after: If not set to
0then the topic will automatically delete once there have been no consumers or producers on it for the configured number of seconds. Defaults to 30 if not set.
topic that has the
slow_consumer_policy set to
queue can customize
the settings of the per subscription queues by adding a nested
element. The
subscription element supports the following configuration
attributes of the
queue element:
nak_limit. Example:
<virtual_host id="default">
<topic id="example" slow_consumer_policy="queue">
<subscription tail_buffer="4k"/>
Durable Subscriptions
When a new durable subscription is first created in the broker, its
configuration will be determined by the first
dsub element
which matches the durable subscription being created. The attributes matched
against are:
id: The name of the subscription.
id_regex: A regular expression used to match against the subscription id
If you want to create the durable subscription when the broker first starts up,
then you must set the
topic attribute and optionally the
selector attribute.
topic: The topic which the durable subscription will subscribe to.
selector: A selector expression which filters out messages
dsub element may be configured with all the
attributes available on the
queue element.
Mirrored Queues
A mirrored queue, once create will copy all messages sent to the queue to a topic of the same name and conversely the queue will receive a copy of all messages sent to the topic.
Mirrored queues can be used to mix queue and topic
behavior on one logical destination. For example, let's assumed
is configured as a mirrored destination and you have 2 subscribers
on queue
foo and 2 subscribers on topic
foo. On the producer side,
publishers can send either the queue or topic and get the same results.
On the consumer side, the 2 consumers the the queue foo will get queue
semantics and message from the queue will be load balanced between
the 2 consumers. The 2 consumers on the topic foo will each
get a copy of every message sent. You can even create durable subscriptions
on the topic which then effectively becomes a queue which mirrors the
original queue.
It is important to note that the mirroring will not start until the queue is created which typically happens you first send a message to the queue or subscribe to it.
Message Stores
A message store is used to implement reliable messaging and message swapping which are both optional features that disabled if no message store is configured on the virtual host. If no message store is configured, then all message routing is performed in memory and queue will quickly "fill up" when you have slow or no consumers since the messages cannot get swapped to disk.
Apollo supports multiple message store implementations. The implementations currently supported are:
- LevelDB Store : is a file based message store implemented using the Google's LevelDB library to maintain indexes into log files holding the messages. This the default implementation used.
- BDB Store : is a file based message store implemented using the Sleepycat BDB library. This implemenation should work equally well on all platforms since it's a pure java implementation.
LevelDB Store
The LevelDB store is the default store which a newly created Broker instance will use.
It is enabled when your
virtual_host element contains a
leveldb_store element.
<virtual_host id="default">
<leveldb_store directory="${apollo.base}/data"/>
leveldb_store element may be configured with the following attributes:
directory: The directory which the store will use to hold its data files. The store will create the directory if it does not already exist.
flush_delay: The flush delay is the amount of time in milliseconds that a store will delay persisting a messaging unit of work in hopes that it will be invalidated shortly thereafter by another unit of work which would negate the operation. Defaults to 500.
read_threads: The number of concurrent IO reads to allow. The value defaults to 10.
sync: If set to
false, then the store does not sync logging operations to disk. The value defaults to
log_size: The max size (in bytes) of each data log file before log file rotation occurs. The value defaults to 104857600 (100 MB).
log_write_buffer_size: That maximum amount of log data to build up before writing to the file system. The value defaults to 4194304 (4 MB).
verify_checksums: If set to
trueto force checksum verification of all data that is read from the file system on behalf of a particular read. By default, no such verification is done.
paranoid_checks: Make the store error out as soon as possible if it detects internal corruption. The value defaults to false.
index_max_open_files: Number of open files that can be used by the index. The value defaults to 1000.
index_block_restart_interval: Number keys between restart points for delta encoding of keys. The value defaults to 16.
index_write_buffer_size: Amount of index data to build up in memory before converting to a sorted on-disk file. The value defaults to 4194304 (4 MB).
index_block_size: The size of index data packed per block. The value defaults to 4096 (4 K).
index_cache_size: The maximum amount of memory to use to cache index blocks. The value defaults to 268435456 (256 MB).
index_compression: The type of compression to apply to the index blocks.
Can be
none. The value defaults to
log_compression: The type of compression to apply to the log records.
Can be
none. The value defaults to
auto_compaction_ratio: This ratio is used to determine when to compact the leveldb indexes. When you take the ratio of disk space used by the leveldb indexes to the number queue entries and it exceeds the configured
auto_compaction_ratiothen the leveldb index will be scheduled for compaction. If set to 0, then auto compactions are disabled. The value defaults to 100.
Support Platforms
The LevelDB store uses a JNI driver on Linux, OS X, and supported Windows versions, but falls back to an experimental pure Java driver on other platforms.
The supported Windows versions are Vista, Server 2008 and later that have the MS VC++ 2010 Redistributable package installed:
- If you're running a 32 bit JVM, install: Microsoft Visual C++ 2010 Redistributable Package (x86)
- If you're running a 64 bit JVM, install: Microsoft Visual C++ 2010 Redistributable Package (x64)
BDB Store
Apache cannot redistribute the BDB library due to the terms of its
license, but you can easily get a free copy directly from Oracle. Before
you can start using the BDB Store you must first download it from Oracle
at je-5.0.34.jar
and then copy it into the
${APOLLO_HOME}/lib directory.
For those of you with curl installed, you can just run:
curl http://download.oracle.com/maven/com/sleepycat/je/5.0.34/je-5.0.34.jar > ${APOLLO_HOME}/lib/je-5.0.34.jar
Once that is done, you can enable the store by adding a
bdb_store element
inside your
virtual_host. Example:
<virtual_host id="default">
<bdb_store directory="${apollo.base}/data"/>
bdb_store element may be configured with the following attributes:
directory: The directory which the store will use to hold its data files. The store will create the directory if it does not already exist.
flush_delay: The flush delay is the amount of time in milliseconds that a store will delay persisting a messaging unit of work in hopes that it will be invalidated shortly thereafter by another unit of work which would negate the operation. Defaults to 500.
read_threads: The number of concurrent read threads to use when accessing the store. The value defaults to 10.
Working Around Java 7 SSL Bugs
As noted by issue APLO-287, it seems some versions of Java 7 have problems with SSL sessions that need to use the Diffie-Hellman cypher suite. If you run into this issue, just copy the Bouncy Castle bcprov-jdk15on-148.jar to Apollo's lib directory and restart your broker.
The SSL/TLS Transport
Apollo supports SSL/TLS for transport level security to avoid 3rd
parties listening in on the communications between the broker and its
clients. To enable it, you just need to add a connector which binds using
on of the secure transports such as
ssl://. It also requires having a
key_storage configuration element under the
broker to configure the where
the encryption keys and certificates are stored.
<connector id="stomp-secure" bind="ssl://0.0.0.0:61614"/>
connector element's
bind attribute controls which secure transport
algorithm gets used by the sever. Supported values are:
ssl://- Use the JVM default version of the SSL algorithm.
sslv*://- Use a specific SSL version where
*is a version supported by your JVM. Example:
tls://- Use the JVM default version of the TLS algorithm.
tlsv*://- Use a specific TLS version where
*is a version supported by your JVM. Example:
The attributes that you can configure on the
key_storage element are:
file: Path to where the key store is located.
password: The key store password
key_alias: The alias of private key to use. Defaults to the first key found in the key store.
key_password: The password to the keys in the key store.
store_type: The type of key store, defaults to
trust_algorithm: The trust management algorithm, defaults to
key_algorithm: The key management algorithm, defaults to
The SSL/TLS transport is an extension of the TCP transport and as such it supports all the same URI options which the TCP transport supports plus the following:
client_auth: can be set to one of the following:
none. Defaults to
want. If set to
need, then the SSL connection will not be accepted if the client does not provide a certificate that is trusted by the key store. If set to
none, then we will not request the client to send his certificates. If set to
want, then we will request the client send his certficates but allow the connection to continue even if the does not have any tusted certs.
The first step to securing the broker is authenticating users. The default
Apollo configurations use file based authentication. Authentication
is performed using JAAS who's config file is located in the instance
directory under
etc/login.conf. JAAS configuration files can define
multiple named authentication domains. The
broker element and
virtual_host elements can be configured to authenticate against these
authentication element defined at the broker level will get used to
authenticate broker level administration functions and to authenticate
any virtual hosts which did not define an
authentication element. If you
want to disable authentication in a virtual host, you set the
enable attribute
<broker xmlns="http://activemq.apache.org/schema/activemq/apollo">
<authentication domain="internal"/>
<virtual_host id="wine.com">
<authentication domain="external"/>
<virtual_host id="internal.wine.com">
<virtual_host id="test">
<authentication enabled="false"/>
<connector id="tcp" bind="tcp://0.0.0.0:61613"/>
The above example uses 2 JAAS domains,
internal and
external. Broker
wine.com host will use the external domain, the
host will use the internal domain and the
test host will not authenticate
Using Custom Login Modules
Apollo uses JAAS to control against which systems users
authenticate. The default Apollo configurations use file based
authentication but with a simple change of the JAAS configuration, you can be
authenticating against local UNIX account or LDAP. Please reference
the JAAS documentation
for more details on how to edit the
etc/login.conf file.
Since different JAAS login modules produce principals of different class types, you may need to configure which of those class types to recognize as the user principal and the principal used to match against the access control lists (ACLs).
The default user principal classes recognized are
org.apache.activemq.jaas.UserPrincipal and
javax.security.auth.x500.X500Principal. You can change the default by
user_principal_kind elements under the
authentication element.
The first principal who's type matches this list will be selected as the
user's identity for informational purposes.
Similarly, default acl principal class recognized is
org.apache.activemq.jaas.GroupPrincipal. You can configure it by adding
acl_principal_kinds elements under theauthentication` element. The ACL
entries which do not have an explicit kind will default to using the the
kinds listed here.
Example of customizing the principal kinds used:
<authentication domain="apollo">
User authorization to broker resources is accomplished by configuring an
access control rules using a
access_rule elements in the
broker or
virtual_host elements. The rules defines which principals are allowed or
denied access to perform actions against server resources. An example list of
rule is shown below:
<access_rule deny="guest" action="send"/>
<access_rule allow="*" action="send"/>
<access_rule allow="app1" action="receive"/>
allow and
deny attributes define the principals which are allowed or
denied access. If set to "+" then it matches all principals but requires at
at least one. If set to "*" the it matches all principals and even matches
the case where there are no principals associated with the subject.
allow or
deny must be defined. You can optionally define one or
more of the following attributes to further narrow down when the rule matches
an authorization check:
separator: If set, then the
denyfields will be interpreted to be a list of principles separated by the separator value.
principal_kind: A space separated list of class names of which will be matched against the principle type. If set to
*then it matches all principal classes. Defaults to the default principal kinds configured on the broker or virtual host.
action: A space separated list of actions that will match the rule. Example 'create destroy'. You can use
*to match all actions. Defaults to
kind: A space separated list of broker resource types that will match this rule. You can use
*to match all key. Example values 'broker queue'. Defaults to
id: The identifier of the resource that will match this rule. You can use
*to match all resources. If the
kindis set to
topicthen you can use a destination wild card to match against the destination id. Defaults to
id_regex: A regular expression to be applied against the id of the resource.
connector: The id of the connector the user must be connected on for the rule to match. You can use
*to match all connectors. Defaults to
If no access rules match an authorization check then access is denied.
The order in which rules are defined are significant. The first entry that matches determines if he will have access. For example, let's say a user is groups 'blue' and 'red', and you are matching against the following rules:
<access_rule deny="blue" action="send"/>
<access_rule allow="red" action="send"/>
Then the user would not be allowed to send since the deny rule was matched first. If the order in the ACL list were reversed, like so:
<access_rule allow="red" action="send"/>
<access_rule deny="blue" action="send"/>
Then the user would be allowed access to the resource since the allow
rule matched first. When a single rule defines both
allow and
deny attributes and they both match then the action is denied.
<access_rule deny="blue" allow="red" action="send"/>
Resource Actions
You can configure the
action attribute of an access rules with
one or more of the following values:
admin: use of the administrative web interface
monitor: read only use of the administrative web interface
config: use of the administrative web interface to access and change the broker configuration.
connect: allows connections to the connector or virtual host
create: allows creation
destroy: allows destruction
send: allows the user to send to the destination
receive: allows the user to send to do non-destructive reads from the destination
consume: allows the user to do destructive reads against a destination
*: All actions
Resource Kinds
You can configure the
kind attribute of an access rules with one or more of
the following values:
dsub, or
* matches all resource kinds.
broker and
connector kinds can only be configured in rules
defined in the
broker element.
Encrypting Passwords in the Configuration
etc/apollo.xml file supports using
${<property-name>} style
syntax. You can use any system properties and if the
etc/apollo.xml.properties file exists, then any of the properties
defined there. Any of the properties values in the
etc/apollo.xml.properties can be replaced with encrypted versions by
using the
apollo encrypt command.
Let's say you your current
key_storage contains plain text passwords that
need to be replaced with encrypted versions:
Let's first find out what the encrypted versions of the passwords would be.
Apollo encrypts and decrypts values using the password stored in
APOLLO_ENCRYPTION_PASSWORD environment variable.
The following is an example of how you can encrypt the previous passwords:
$ export APOLLO_ENCRYPTION_PASSWORD='keepmesafe'
$ apollo encrypt open
$ apollo encrypt sesame
Once you have the encrypted passwords, you can add them to the
etc/apollo.xml.properties file. Example:
Finally the last step of securing the configuration is to replace the plain text passwords with variable references to the corresponding property names:
When you use encrypted passwords in your configuration, you MUST make
sure that the
APOLLO_ENCRYPTION_PASSWORD environment variable is set
to the proper value before starting the broker.
Web Based Administration
Apollo starts a web based administration interface on
http://127.0.0.1:61680 and
https://127.0.0.1:61681 by default. Note
that it binds to the loopback interface so that only local web
browsers can access the interface.
If the broker has authentication enabled and has defined an ACL configuring the admins of the broker, then the web interface will perform basic authentication and will only grant access to those users which are in the admin ACL.
If you want to disable the web the interface then you should remove
web_admin configuration elements. If you want to allow
remote administration, you should update the configuration so
it bind either the
0.0.0.0 or
[::] address.
For example:
<broker xmlns="http://activemq.apache.org/schema/activemq/apollo">
<web_admin bind="http://0.0.0.0:61680"/>
<web_admin bind="https://0.0.0.0:61681"/>
web_admin element may be configured with the following attributes:
bind: The address and port to bind the web interface on in URL syntax.
If you want to allow cross origin resource sharing (CORS) of the web admin APIs,
then you should add
cors_origin query parameter to the bind URI with
a common seperated list of domains that are allowed to access the web
admin APIs. Use
* to allow access from any domain. Example:
<broker xmlns="http://activemq.apache.org/schema/activemq/apollo">
<web_admin bind="http://0.0.0.0:61680?cors_origin=*"/>
<web_admin bind="https://0.0.0.0:61681?cors_origin=www.foo.com,bar.com"/>
Managing Brokers
The rest of this section's example assume that you have created a broker
instance under the
/var/lib/mybroker directory or
c:\mybroker directory
if you're on Windows.
Running a Broker Instance in the Foreground
To start the broker instance in the foreground simply execute
bin/apollo-broker run. Example:
/var/lib/mybroker/bin/apollo-broker run
To stop it, press
Ctrl-C to send the termination signal
to the process.
Managing a Background Broker Instance
On Linux/Unix
If you are on Unix, you can use the
bin/apollo-broker-service script
to manage the broker service. This script is compatible with the
/etc/init.d style scripts most Unix/Linux systems use to control
background services.
On a Ubuntu OS, you install the service and have it run on start up by running:
sudo ln -s /var/lib/mybroker/bin/apollo-broker-service /etc/init.d/apollo
sudo update-rc.d apollo defaults
On a Redhat OS, you install the service and have it run on start up by running:
sudo ln -s /var/lib/mybroker/bin/apollo-broker-service /etc/init.d/apollo
sudo chkconfig apollo --add
On other Unixes, you install the service and have it run on start up by running:
sudo ln -s /var/lib/mybroker/bin/apollo-broker-service /etc/init.d/apollo
sudo ln -s /etc/init.d/apollo /etc/rc0.d/K80apollo
sudo ln -s /etc/init.d/apollo /etc/rc1.d/K80apollo
sudo ln -s /etc/init.d/apollo /etc/rc3.d/S20apollo
sudo ln -s /etc/init.d/apollo /etc/rc5.d/S20apollo
sudo ln -s /etc/init.d/apollo /etc/rc6.d/K80apollo
You can directly use the script to perform the following functions:
- starting:
apollo-broker-service start
- stopping:
apollo-broker-service stop
- restarting:
apollo-broker-service restart
- checking the status:
apollo-broker-service status
When the broker is started in the background, it creates
data/apollo.pid file which contains the process id of
the process executing the broker. This file is typically
used to integrate with an external watch dog process
such as Monit.
On Windows
Windows users can install the broker as background service using the
bin\apollo-broker-service executable.
To install as a background service you would execute:
c:\mybroker\bin\apollo-broker-service install
Uninstalling the service is done using:
c:\mybroker\bin\apollo-broker-service uninstall
You can now use the standard Windows service tools to control starting and stopping the broker or you can also use the same executable to:
- start the service:
apollo-broker-service start
- stop the service:
apollo-broker-service stop
- check the status:
apollo-broker-service restart
If you want to customize the JVM options use to start the background
service, you will need to edit the
file. All service console and event logging perform by the background
service are stored under
Viewing Broker State
Apollo provides a web based interface for administrators to inspect
the runtime state of the Broker. If you're running the broker on your local
machine, just open your web browser to
The web interface will display the status of the the connectors and show attached connections. It will also allow you to drill into each configured virtual host and view the topics and queues being used.
Please see the Management API documentation for more information on how to use the web based interface as a RESTful API.
Exporting/Importing Stores
Exporting compresses all the data in a virtual host's message store in a zip archive. Importing reverses the export process and restore the exported data back to a virtual host's message store. Exporting/Importing is typically used to:
- backup a message store
- migrate between different message store implementations
The stores which support exporting and importing are:
The broker must be stopped before using the import or export commands. Be careful when importing an archive, since it will first purge the message store of any data!
Use the
apollo-broker store-export command to export the data. For example:
/var/lib/mybroker/bin/apollo-broker store-export myarchive.tgz
The above command will load the
mybroker's configuration and export the
first virtual host's messages store to the
myarchive.tgz. You can use the
--virtual-host command line option to be more specific of which virtual
host you wish to export.
Use the
apollo-broker store-import command to import the data. For example:
/var/lib/mybroker/bin/apollo-broker store-import myarchive.tgz
Just like in the case of the
store-export command, it will load the
mybroker's configuration and import the archive into the first virtual
host's message store.