Setting up Component::External

Guillermo Roditi groditi at
Mon Dec 10 21:21:37 UTC 2007

>     * I'd advise against using $_ like you are above, since
> DJabberd::Component::External->new might clobber it. It doesn't right
> now, and it definitely shouldn't, but you never know when someone will
> introduce a $_-clobbering bug.

ooh, good call, totally slipped by me.

>     * You're using the deprecated register_subdomain support, which
> might not actually even work anymore. (I vaugely remember Artur
> partially breaking it somewhere along the line.)

ESLIMDOCS, thanks. I didn't really understand what the difference
between a plugin and a component was. I guess there isn't one.

> The above is roughly equivalent to:
> <VHost>
>      <Plugin DJabberd::Delivery::Local />
>      <Subdomain aim>
>          <Plugin DJabberd::Component::External>
>              ListenPort 5270
>              Secret some_secret
>          </Plugin>
>      </Subdomain>
> </VHost>

Yeah. the config stuff is nice, but unfortunately I went the other
route since my config would have to be updated a whole lot otherwise.
I just pull all my vhost info from the database now  since it's

> It's probably also worth noting that as you've written this, with it
> creating a new AIM component each time, only the first will actually
> work because they'll all independently try to listen on the same port.
> For it to work, you'll need to run each instance on a separate port and
> connect one pyAIMt to each.

Right, I get it. Hmmm that sucks. Too bad I can't have all the vhosts
share a single component like I do with RosterStorage, Delivery, and
Authen, or can I? I have no objection to some gritty devel work if
necessary. I don't really want to run 200 connections to PyAIMt (i
have about 220 or so VHosts with a few users each, all very low

If you use IRC I can often be found in #POE ( as groditi,
so feel free to hit me up if you'd like to discuss the POE thing. I
would love to see DJabberD play nicely alongside POE. I never was able
to figure out how to integrate my own events and event handlers etc.
into Danga::Socket so I never got to use a lot of the Danga code I
wanted to try out.


More information about the Djabberd mailing list