Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 9901 invoked from network); 28 Jun 2004 11:17:21 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur-2.apache.org with SMTP; 28 Jun 2004 11:17:21 -0000 Received: (qmail 83782 invoked by uid 500); 28 Jun 2004 11:17:10 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 83439 invoked by uid 500); 28 Jun 2004 11:17:07 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 83319 invoked by uid 99); 28 Jun 2004 11:17:04 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [193.201.200.196] (HELO luminas.co.uk) (193.201.200.196) by apache.org (qpsmtpd/0.27.1) with ESMTP; Mon, 28 Jun 2004 04:17:03 -0700 Received: from [192.168.0.4] (media.demon.co.uk [80.177.14.141]) (AUTH: PLAIN jeremy, TLS: TLSv1/SSLv3,128bits,RC4-SHA) by grover.luminas.co.uk with esmtp; Mon, 28 Jun 2004 12:16:59 +0100 id 0012B914.40DFFE2B.000001CD Mime-Version: 1.0 Content-Type: multipart/signed; micalg=sha1; protocol="application/pkcs7-signature"; boundary="=_grover-461-1088421420-0001-2" To: dev@cocoon.apache.org Message-Id: From: Jeremy Quinn Subject: component lifecycles Date: Mon, 28 Jun 2004 12:17:05 +0100 X-Mailer: Apple Mail (2.618) X-Virus-Checked: Checked X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This is a MIME-formatted message. If you see this text it means that your E-mail software does not support MIME-formatted messages. --=_grover-461-1088421420-0001-2 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed Hi All I am making a (non-SiteMap) Avalon Component that allows you to manage LDAP Entries from FlowScript. (LDAPEntryManager). I am loading the Component in FlowScript using it's Interface: var users = cocoon.getComponent (EntryManager.ROLE); and disposing it using: cocoon.releaseComponent (users); The Component implements the following lifecycle Interfaces: Configurable, Serviceable, Initializable, Disposable, ThreadSafe Configurable works as expected, the configuration in cocoon.xconf is correctly read when Cocoon starts up. I am not sure I need Serviceable as I do not need to lookup other components. Initializable, Disposable are not triggering when expected. My assumption was that 'initialize' would be called at the time of cocoon.getComponent and 'dispose' would be called at the time of cocoon.releaseComponent, but this is not happening. 'initialize' is being called at Cocoon startup, and 'dispose' is being called at Cocoon shutdown. The Component is managing a Naming Context on behalf of the FlowScript. The Naming Context cannot be shared by multiple Threads AFAIU. I am sorry, I am sure these basic lifecycle questions bore the bejesus out of you, but, what Interfaces should I implement to have my methods called by cocoon.getComponent and cocoon.releaseComponent ? So, experimenting ..... I removed ThreadSafe and Serviceable. What happens now is that the Component is Configured, Initialised and Disposed for every use, which is safer, but I do not need it Configured for every usage, this only needs to be done once. How can I get it Configured only once, but Initialised and Disposed for every cocoon.getComponent/cocoon.releaseComponent pair? Thanks for any suggestions. regards Jeremy -------------------------------------------------------- If email from this address is not signed IT IS NOT FROM ME Always check the label, folks !!!!! -------------------------------------------------------- --=_grover-461-1088421420-0001-2 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7s MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGJDCCAt0w ggJGoAMCAQICAwskYzANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0EwHhcNMDMxMTEzMjEwMTI0WhcNMDQxMTEyMjEwMTI0WjBKMR8wHQYDVQQD ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMScwJQYJKoZIhvcNAQkBFhhqZXJlbXlAbWVkaWEuZGVt b24uY28udWswggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCwu9abCH/mefGpJqCrbgn+ H3FX223ceivXU1FpwEciHb1edLiyhRDmeELKfS8RBh1fWeXPnsMsR+/JW1kFTjuU05vtu3zr4AC8 HH5qx5TexLkqHP9rfwQPwzlkbXa5m30niA4a642Wi9Q7i/sg1i41najIRr/W/no+MkOWgPypsqbG aWpUWIZyETfrJNhlyeYOXWivyv657l2Oc2qSzxOUnWvh9GiwF4Ru7kESViiCLwyDzPaN2yLreMKA 6ZU+0hv77iwtc0Ul8GDNWwYUiFA1RqDMtz90oKoOIEzNn/LCD1PMziPCmpXXipAuVnttv0eSXX6w /jlIQYf+k0MwAEw5AgMBAAGjNTAzMCMGA1UdEQQcMBqBGGplcmVteUBtZWRpYS5kZW1vbi5jby51 azAMBgNVHRMBAf8EAjAAMA0GCSqGSIb3DQEBBAUAA4GBADJJWfPQFDb7d8YUlCxO1Fk9HgTY6SoO YqSofIBfqf4yUQ9YCyi8ea5dv+Nl17oNDAGetto14mI0uIj1BlWTrZ6SBpo9ou+s9juyZQNBDZ1v +9qB7/A4wpNUKuDfihrDh1gEdhC7sbh2pj4g/xZ98rWi+p5SCY0MzrQV1dWuf0d5MIIDPzCCAqig AwIBAgIBDTANBgkqhkiG9w0BAQUFADCB0TELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4g Q2FwZTESMBAGA1UEBxMJQ2FwZSBUb3duMRowGAYDVQQKExFUaGF3dGUgQ29uc3VsdGluZzEoMCYG A1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEkMCIGA1UEAxMbVGhhd3RlIFBl cnNvbmFsIEZyZWVtYWlsIENBMSswKQYJKoZIhvcNAQkBFhxwZXJzb25hbC1mcmVlbWFpbEB0aGF3 dGUuY29tMB4XDTAzMDcxNzAwMDAwMFoXDTEzMDcxNjIzNTk1OVowYjELMAkGA1UEBhMCWkExJTAj BgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJz b25hbCBGcmVlbWFpbCBJc3N1aW5nIENBMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDEpjxV c1X7TrnKmVoeaMB1BHCd3+n/ox7svc31W/Iadr1/DDph8r9RzgHU5VAKMNcCY1osiRVwjt3J8CuF Wqo/cVbLrzwLB+fxH5E2JCoTzyvV84J3PQO+K/67GD4Hv0CAAmTXp6a7n2XRxSpUhQ9IBH+nttE8 YQRAHmQZcmC3+wIDAQABo4GUMIGRMBIGA1UdEwEB/wQIMAYBAf8CAQAwQwYDVR0fBDwwOjA4oDag NIYyaHR0cDovL2NybC50aGF3dGUuY29tL1RoYXd0ZVBlcnNvbmFsRnJlZW1haWxDQS5jcmwwCwYD VR0PBAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFQcml2YXRlTGFiZWwyLTEzODANBgkq hkiG9w0BAQUFAAOBgQBIjNFQg+oLLswNo2asZw9/r6y+whehQ5aUnX9MIbj4Nh+qLZ82L8D0HFAg k3A8/a3hYWLD2ToZfoSxmRsAxRoLgnSeJVCUYsfbJ3FXJY3dqZw5jowgT2Vfldr394fWxghOrvbq NOUQGls1TXfjViF4gtwhGTXeJLHTHUb/XV9lTzGCAucwggLjAgEBMGkwYjELMAkGA1UEBhMCWkEx JTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQ ZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMLJGMwCQYFKw4DAhoFAKCCAVMwGAYJKoZIhvcN AQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMDQwNjI4MTExNzA1WjAjBgkqhkiG9w0B CQQxFgQUNmxPHCMZLvBKT+cj8QEHCIbQFO8weAYJKwYBBAGCNxAEMWswaTBiMQswCQYDVQQGEwJa QTElMCMGA1UEChMcVGhhd3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3Rl IFBlcnNvbmFsIEZyZWVtYWlsIElzc3VpbmcgQ0ECAwskYzB6BgsqhkiG9w0BCRACCzFroGkwYjEL MAkGA1UEBhMCWkExJTAjBgNVBAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNV BAMTI1RoYXd0ZSBQZXJzb25hbCBGcmVlbWFpbCBJc3N1aW5nIENBAgMLJGMwDQYJKoZIhvcNAQEB BQAEggEATM2OSYV1EzwL1mXY7ctoH0Q/cQ/TytYbZvMm/I23QRzdbG2wOzb2VLQ8BIRu73VHxjIF 3ITQ5CRHF4gTfix+tINIuwJhJXkV5UL+vko7HruxChv+H9oLDZg94oO1AASf1a2u48Dyd4GWkb0Q ipOCwYyZjVvR2S7gcmWY/7lUzUMU12cu7AoXXAtA456R1f9NT2Wk6VIQavrDjKYQO1R9sHFAST3s oqvIqBYddYayXJuxBENSMfBhL+RIWP6Gi1VryYW/hAv/rhEjxrfYRvc1XU6fE+tLyQvuL7wOFc27 mfYIvhSdPKss4c/AleQa4IY1ZTb5RRYiY6GWivpsfuGVNwAAAAAAAA== --=_grover-461-1088421420-0001-2--