Bandana or PluginSettings - Which to use

Eddie Webb Community Champion Aug 25, 2012

I am writing a plugin that requires some config to be stored via an admin screen, and accessed by a REST service.

It appears that both Bandana and PluginSettings are feasible ways to do this. The "Writing an Admin Confguration Screen" tutorial uses PluginSetttings, but there is one concern to me -- PluginSettings stores everything in config.xml -- which is loaded into memory.

Bandana on the other hand stores objects in the database.

SO I would think that for operations that may be accessed frequently (i.e. a REST service) that Bandana may be the better option as I can query for a single object. It may also support better serialization, though nothing in the documentation clarifies.

Can someone help me out on which is the best use case for each mean of persitence?



3 answers

1 accepted

2 votes
Eddie Webb Community Champion Aug 25, 2012

It appears the answer is: Neither.

Atlassian is working on new layer in the API called ActiveObjects, and is being pushed as the alternative for both my afermentioned choices.

It's 4 years later (2016) and I still landed on documentation for Bandana when researching persistence. 

Also the page for AO says in a big red warning box:

"Atlassian does not recommend that you install or upgrade Active Objects in a production environment, unless instructed by the Atlassian support team."


So....can haz?  Or no?

0 vote
Eddie Webb Community Champion Aug 25, 2012

For bonus points, explain this issue pulling objects out..

[INFO] [talledLocalContainer] java.lang.ClassCastException: com.edwardawebb.bamboo.buildbunny.config.objects.BuildBunnyConfig cannot be cast to com.edwardawebb.bamboo.buildbunny.config.objects.BuildBunnyConfig

They are the same class!! I can call toString and the reference looks correct - what i the deal.

I have the same problem. I can explain it but I don't have the solution yet. The instances are from different classloaders instances. - com.atlassian.plugin.classloader.PluginClassLoader and they can't be casted from one to the other.

Suggest an answer

Log in or Join to answer
Community showcase
Jason Wong
Published yesterday in Agility Beta

Welcome to agility

Every team in the world is unique, and so   Atlassian believes   that each and every team's best way of working  needs to  be molded to their unique circumstances  – ...

391 views 6 16
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot