Skip to main content

Defining and Handling Transient Fields in PJama

  • Conference paper
  • First Online:
Book cover Research Issues in Structured and Semistructured Database Programming (DBPL 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1949))

Included in the following conference series:

Abstract

The transient keyword of the Java™ programming language was originally introduced to prevent specific class fields from being stored by a persistence mechanism. In the context of orthogonal persistence, this is a particularly useful feature, since it allows the developer to easily deal with state that is external to the system. Such state is inherently transient and should not be stored, but instead re-created when necessary. Unfortunately, the Java Language Specification does not accurately define the semantics and correct usage of the transient keyword. This has left it open to misinterpretation by third parties and its current meaning is tied to the popular Java Object Serialisation mechanism. In this paper we explain why the currently widely-accepted use of the transient keyword is not appropriate in the context of orthogonal persistence, we present a more detailed definition for it, and we show how the handling of transient fields can be efficiently implemented in an orthogonally per- sistent system, while preserving the desired semantics.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K. Arnold and J. Gosling. The Java Programming Language. Addison-Wesley, 1996. 130

    Google Scholar 

  2. M. P. Atkinson, K. J. Chisholm, and W. P. Cockshott. PS-algol: an Algol with a Persistent Heap. ACM SIGPLAN Notices, 17(7):24–31, July 1982. 133

    Google Scholar 

  3. M. P. Atkinson, L. Daynès, M. J. Jordan, T. Printezis, and S. Spence. An Orthogonally Persistent Java. SIGMOD Record (ACM Special Interest Group on Management of Data), 25(4):68–75, December 1996. 129, 130, 131

    Google Scholar 

  4. M. P. Atkinson and M. J. Jordan. Issues Raised by Three Years of Developing P Jama: An Orthogonally Persistent Platform for JavaTM. In Proceedings of ICDT’99, Jerusalem, Israel, January 1999. 130, 131

    Google Scholar 

  5. M. P. Atkinson, M. J. Jordan, L. Daynés, and S. Spence. Design Issues for Persistent Java: a Type-Safe Object-Oriented Orthogonally Persistent System. In Proceedings of POS’7, Cape May, New Jersey, USA, May 1996. 129, 130, 131

    Google Scholar 

  6. M. P. Atkinson and R. Morrison. Orthogonal Persistent Object Systems. VLDB Journal, 4(3), 1995. 130

    Google Scholar 

  7. M. P. Atkinson and R. C. Welland, editors. Fully Integrated Data Environments. Springer-Verlag, 1999. 150

    Google Scholar 

  8. R. G. G. Cattell, editor. The Object Database Standard: ODMG 2.0. Morgan Kaufmann Publishers, 1997. 131

    Google Scholar 

  9. L. Daynès and M. P. Atkinson. Main-Memory Management to support Orthogonal Persistence for Java. In Proceedings of the Second International Workshop on Persistence and Java (PJW2), Half Moon Bay, CA, USA, August 1997. 133, 145

    Google Scholar 

  10. H. Evans. Why Object Serialization is Inappropriate for Providing Persistence in Java. Technical report, Department of Computing Science, University of Glasgow, Scotland, 2000. In Preparation. 137, 144

    Google Scholar 

  11. M. J. Feeley, W. E. Morgan, F. H. Pighin, A. R. Karlin, and H. M. Levy. Implementing Global Memory Management in a Workstation Cluster. In Proceedings of the 15th ACM Symposium on Operating Systems Principles (SOSP-15), pages 201–212, Copper Mountain Resort, CO, USA, December 1995. ACM Press. 144

    Google Scholar 

  12. GemStone Systems Inc. GemStone/JTM Administration for Unix, March 1998. Version 1.1. 142

    Google Scholar 

  13. GemStone Systems Inc. GemStone/JTM Programming Guide, March 1998. Version 1.1. 131, 132, 142

    Google Scholar 

  14. J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996. 129, 130, 133, 136, 137, 138, 140, 142

    Google Scholar 

  15. ISO. Working Paper for Draft Proposed International Standard for Information Systems — Programming Language C++, 1998. ISO/IEC 14882-1998. 133

    Google Scholar 

  16. R. E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley & Sons, Ltd, 1996. With a chapter on Distributed Garbage Collection by R. Lins. 145

    Google Scholar 

  17. D. Jordan. Serialisation is not a database substitute. JavaTM Report, pages 68–79, July 1999. 137

    Google Scholar 

  18. M. J. Jordan. Early Experiences with Persistent Java. In Proceedings of the First International Workshop on Persistence and Java (PJW1), Drymen, Scotland, September 1996. 131

    Google Scholar 

  19. M. J. Jordan and M. P. Atkinson. Orthogonal Persistence for Java — A Mid-term Report. In Proceedings of the Third International Workshop on Persistence and Java (PJW3), pages 335–352, Tiburon, California, September 1998. 130, 131, 137, 139

    Google Scholar 

  20. M. J. Jordan and M. P. Atkinson, editors. Orthogonal Persistence for the JavaTM Platform — Draft Specification. Technical report, Sun Microsystems Inc, 1999. 131, 142

    Google Scholar 

  21. R. Morrison, R. C. H. Connor, Q. Cutts, G. N. C. Kirby, D. S. Munro, and M. P. Atkinson. The Napier88 Persistent Programming Language and Environment. In Atkinson and Welland [7], chapter 1.1.3, pages 98–154. 133

    Google Scholar 

  22. T. Printezis. Orthogonal Persistence: The Future for Storing Objects? In Proceedings of the Practical Applications for Java Conference 1999 (PAJava’99), pages 5–17, London, UK, April 1999. Invited Paper. 130

    Google Scholar 

  23. T. Printezis. The Sphere User’s Guide. Technical Report TR-1999-47, Department of Computing Science, University of Glasgow, Scotland, July 1999. 145

    Google Scholar 

  24. T. Printezis and M. P. Atkinson. An Efficient Object Promotion Algorithm for Persistent Object Systems, 2000. Accepted for publication at Software — Practiceand Experience. 145

    Google Scholar 

  25. T. Printezis, M. P. Atkinson, and L. Daynès. The Implementation of Sphere: a Scalable, Flexible, and Extensible Persistent Object Store. Technical Report TR-1998-46, Department of Computing Science, University of Glasgow, Scotland, May 1998. 145

    Google Scholar 

  26. T. Printezis, M. P. Atkinson, L. Daynès, S. Spence, and P. J. Bailey. The Design of a new Persistent Object Store for PJama. In Proceedings of the Second International Workshop on Persistence and Java (PJW2), Half Moon Bay, CA, USA, August 1997. Published as SunLabs Technical Report TR-97-63. 133, 145

    Google Scholar 

  27. T. Printezis, M. P. Atkinson, L. Daynès, S. Spence, and P. J. Bailey. The Design of Sphere: a Scalable, Flexible, and Extensible Persistent Object Store. Technical Report TR-1997-45, Department of Computing Science, University of Glasgow, Scotland, August 1997. 145

    Google Scholar 

  28. J. V. E. Ridgway, C. Thrall, and J. C. Wileden. Towards Assessing Approaches to Persistence for Java. In Proceedings of the Second International Workshop on Persistence and Java (PJW2), Half Moon Bay, CA, USA, August 1997. 133

    Google Scholar 

  29. S. Spence. Persistent RMI. Department of Computing Science, University of Glasgow, Scotland, March 1998. 141, 144

    Google Scholar 

  30. Sun Microsystems Inc. JavaBeansTM, July 1997. Version 1.01. 137

    Google Scholar 

  31. Sun Microsystems Inc. JavaSpacesTM Specification, July 1998. Revision 1.0 Beta. 137

    Google Scholar 

  32. Sun Microsystems Inc. JavaTM Object Serialization Specification — JDK. 1.2, November 1998. Revision 1.43. 129, 131, 136, 137, 139

    Google Scholar 

  33. Sun Microsystems Inc. JavaTM Platform 1.2 Core API Specification, 1998. 129, 133, 136, 137, 138, 139

    Google Scholar 

  34. Sun Microsystems Inc. JavaTM Remote Method Invocation Specification, October 1998. Revision 1.5. 136

    Google Scholar 

  35. Sun Microsystems Inc and The University of Glasgow. PJama API, 1998. Release 0.5.7.13. 131, 141

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2000 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Printezis, T., Atkinson, M.P., Jordan, M. (2000). Defining and Handling Transient Fields in PJama. In: Connor, R., Mendelzon, A. (eds) Research Issues in Structured and Semistructured Database Programming. DBPL 1999. Lecture Notes in Computer Science, vol 1949. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44543-9_9

Download citation

  • DOI: https://doi.org/10.1007/3-540-44543-9_9

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-41481-0

  • Online ISBN: 978-3-540-44543-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics