Get serverID inside servlet module Edited

Hello guys, I need some help.

I'm developing a confluence server plugin and I need to get the confluence server id when the servlet url is hit. I haven't figured out yet how to do it. Is there any way to do that?

Thanks in advance,

Luís

1 answer

1 accepted

0 votes
Accepted answer

Hi there,

You could try it with the ConfluenceInfo bean.

Thanks for your help.

I tried with no luck. 

I tried this:

I18NBean a = null;
ConfluenceInfo ci = new ConfluenceInfo(a);
String serverID = ci.getServerId();
// serverID is null

However, all ci methods are returning null.


Any idea?

Hey @Luís Gomes,

I had the chance to unsuccessfully try this myself. But I figured out a way that works for me:

  • Create a field in your class with type of ConfluenceSidManager:
    private ConfluenceSidManager sidManager;
  • Inject the manager into your constructor or write a setter for it
  • Now you can get the server id like this:
    sidManager.getSid()

Hope that works for you as well.

Kind Regards

Hey @Thor Weinreich, I've tried it but with no luck :\

How do you inject the ConfluenceSidManager into your class constructor? Or how do you call the class constructor then?

If could share a code snippet of what you described working, that would be really amazing.

Thanks again.

Kind regards

Hey @Luís Gomes,

Here is a good article about dependcy injection in plugins.

 

To inject it into your constructor (preferred way for v2 plugins) do this:

private ConfluenceSidManager sidManager;
...
...

public MyClass(ConfluenceSidManager sidManager) {

    this.sidManager = sidManager;

}

 

To inject the manager via a setter (the default way to do this for v1 plugins) do this:

private ConfluenceSidManager sidManager;
...
...

public
void setSidManager(ConfluenceSidManager sidManager) {
this.sidManager = sidManager;
}
...

Then you have to call the setter (e.g. if you are writing a macro inside the execute method):


setSidManager(ComponentLocator.getComponent(ConfluenceSidManager.class));

From now on you should be able to use the manager.

Thanks @Thor Weinreich! That solved the problem :)

Hey @Luís Gomes, you're welcome! I'm happy to hear that :-)

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Dec 18, 2018 in Confluence Cloud

Happy holidays from our team to yours!

Hi Community!  2018 was filled with changes for our team, both big and small, and we've taken a lot of time to both celebrate our wins and recognize areas of improvement. One thing that we're a...

472 views 3 18
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